【发布时间】:2019-08-22 23:05:05
【问题描述】:
目的地,作为 ConnectionFactory 实例,由 JMS 管理 您可以在 JNDI 中存储和检索的对象。当配置一个 Spring应用上下文,可以使用JNDI JndiObjectFactoryBean 工厂类或执行依赖注入 您的对象对 JMS 目标的引用。
但是,这种策略 如果有大量目的地,通常会很麻烦 应用程序或是否有高级目的地管理功能 JMS 提供程序独有。
问题是:
当我的应用程序中有大量目的地时如何进行?
使用上面提到的策略我必须定义:
- Jndi 模板
- JndiDestinationResolver
- JndiObjectFactoryBean
- 缓存连接工厂
- Jms 模板
对于每个目的地。
所以如果我有 20 个队列,我将不得不定义 100 个这样的 bean...
【问题讨论】:
-
您可以懒惰地解析目的地,您只需要一个
JmsTemplate和ConnectionFactory(假设它们都使用相同的 JMS 提供程序/实例)。可以使用JmsTemplate上的send(destination, message)方法懒惰地查找其他所有内容。
标签: java spring jms jndi spring-jms