|
|
|
|
@ -2104,6 +2104,39 @@ so you can see how to set things up.
@@ -2104,6 +2104,39 @@ so you can see how to set things up.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[[howto-messaging]] |
|
|
|
|
== Messaging |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[[howto-jms-disable-transaction]] |
|
|
|
|
=== Disable transacted JMS session |
|
|
|
|
If your JMS broker does not support transacted session, you will have to disable the |
|
|
|
|
support of transactions altogether. If you create your own `JmsListenerContainerFactory` |
|
|
|
|
there is nothing to do since it won't be transacted by default. If you want to use |
|
|
|
|
the `DefaultJmsListenerContainerFactoryConfigurer` to reuse Spring Boot's default, you |
|
|
|
|
can disable transacted session as follows: |
|
|
|
|
|
|
|
|
|
[source,java,indent=0] |
|
|
|
|
---- |
|
|
|
|
@Bean |
|
|
|
|
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory( |
|
|
|
|
ConnectionFactory connectionFactory, |
|
|
|
|
DefaultJmsListenerContainerFactoryConfigurer configurer) { |
|
|
|
|
DefaultJmsListenerContainerFactory listenerFactory = |
|
|
|
|
new DefaultJmsListenerContainerFactory(); |
|
|
|
|
configurer.configure(listenerFactory, connectionFactory); |
|
|
|
|
listenerFactory.setTransactionManager(null); |
|
|
|
|
listenerFactory.setSessionTransacted(false); |
|
|
|
|
return listenerFactory; |
|
|
|
|
} |
|
|
|
|
---- |
|
|
|
|
|
|
|
|
|
This overrides the default factory and this should be applied to any other factory that |
|
|
|
|
your application defines, if any. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[[howto-batch-applications]] |
|
|
|
|
== Batch applications |
|
|
|
|
|
|
|
|
|
|