最后更新于5年前
这有帮助吗?
如果你的JMS代理不支持事务会话,则必须完全禁用事务支持。如果你创建自己的JmsListenerContainerFactory,则不需要做任何事情,因为它在默认情况下不能进行事务处理。如果你想使用DefaultJmsListenerContainerFactoryConfigurer来重用Spring Boot的默认值,你可以禁用事务会话。如下所示:
JmsListenerContainerFactory
DefaultJmsListenerContainerFactoryConfigurer
前面的示例覆盖了默认工厂,如果应用程序定义了其它工厂,则应该将其应用于其它工厂。
@Bean public DefaultJmsListenerContainerFactory jmsListenerContainerFactory( ConnectionFactory connectionFactory, DefaultJmsListenerContainerFactoryConfigurer configurer) { DefaultJmsListenerContainerFactory listenerFactory = new DefaultJmsListenerContainerFactory(); configurer.configure(listenerFactory, connectionFactory); listenerFactory.setTransactionManager(null); listenerFactory.setSessionTransacted(false); return listenerFactory; }