【发布时间】:2017-05-14 19:00:45
【问题描述】:
我有一个使用 JMS 处理消息的应用程序(基于 Spring Boot),并且我需要能够连接到多个 MQ 服务器 (ActiveMQ) 以侦听消息。另一个问题是我需要关闭一些现有连接并在运行时向另一台服务器添加一些新连接(假设我有一些数据库存储服务器的 URL 和通知应用程序重新加载配置(URL)的休息端点从 db 并重新配置/刷新当前连接集)。
在挖掘了有关 Spring、JMS 和 DI 配置的信息后,我了解到这不是满足我需要的最佳方式(也许我错了),因为 DI 不适合像我这样的动态场景。
示例应用流程
应用启动
- 配置 DB bean
- 从数据库加载 MQ 配置(URL 列表)
- (???) 对于每个 MQ 配置:配置 ConnectionFactory -> 进行连接 -> 附加侦听器/端点
应用生命周期
- 处理 REST 请求
- 从数据库加载 MQ 配置(URL 列表)
- (???) 对于每个 MQ 配置:
- 新项目:配置新的 ConnectionFactory -> 进行连接 -> 附加侦听器/端点
- 已删除项目:断开连接
【问题讨论】:
标签: java spring jms spring-jms