79. Messaging
79.1 禁用事务 JMS 会话
如果您的 JMS 代理不支持事务会话,则必须完全禁用事务支持。如果您创建自己的JmsListenerContainerFactory
,则无需执行任何操作,因为默认情况下不会进行 Transaction。如果您想使用DefaultJmsListenerContainerFactoryConfigurer
重用 Spring Boot 的默认值,则可以按以下方式禁用事务会话:
@Bean
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory(
ConnectionFactory connectionFactory,
DefaultJmsListenerContainerFactoryConfigurer configurer) {
DefaultJmsListenerContainerFactory listenerFactory =
new DefaultJmsListenerContainerFactory();
configurer.configure(listenerFactory, connectionFactory);
listenerFactory.setTransactionManager(null);
listenerFactory.setSessionTransacted(false);
return listenerFactory;
}
这将覆盖默认工厂,并且应将其应用于应用程序定义的任何其他工厂(如果有)。