boot属性用于配置使用的默认容器工厂 @JmsListener 方法,以及配置 JmsTemplate 。
@JmsListener
JmsTemplate
只需覆盖Boot的默认容器工厂......
@Bean public DefaultJmsListenerContainerFactory jmsListenerContainerFactory( DefaultJmsListenerContainerFactoryConfigurer configurer, ConnectionFactory connectionFactory) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); configurer.configure(factory, connectionFactory); return factory; }
然后添加第二个
@Bean public DefaultJmsListenerContainerFactory jmsTopicListenerContainerFactory( DefaultJmsListenerContainerFactoryConfigurer configurer, ConnectionFactory connectionFactory) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); configurer.configure(factory, connectionFactory); factory.setPubSubDomain(true); << override the boot property return factory; }
然后参考中的备用工厂 @JmsListener 为主题。
或者,如果您没有两种类型的侦听器,请将该属性设置为 true ,但覆盖Boot的 JmsTemplate 组态。
true