Closed maciekdeb closed 5 years ago
Good morning,
I need to manage distributed transactions between a datasource and IBM MQ. I'm interested by this feature and I would like to know if there is a release date to integrate this feature? As workaround, I can still fork and package this feature by myself but I think it will be useful for the community to get it on Maven Central.
@ibmmqmet, what do you think about @maciekdeb commit?
Regards, Jérôme.
I'm travelling at the moment. Will take a closer look at it when I'm at my desk next week
Hi @ibmmqmet, when do you expect the next release?
Please ensure all items are complete before opening.
What
XA functionality was aligned with other JMS providers (see ActiveMQ) - SpringBoot keeps the specific ordering of instantiation of beans in configurations - firslty the XA wrapper then the resource adapters. Additionally in order to use the JTA provider the connectionFactory has to be wrapped with the abstraction comming from the provider according to the interface.
How
The order is kept with annotation @AutoconfigureAfter and the wrappeing functionality is done similarly to the ActiveMQ project. Additionally the nonXA bean is kept in the registry for convenience making it possible to autowire in places of the application where the non distributed transaction is needed.
Testing
Locally installed the modified version of this starter and used it in the application which connects to the external IBM queue. Tests were done with Atomikos implementation.
Issues
Issue was spotted in my team during the migration of one of the app to this IBM starter. The finding was that it is impossible to use XA with SpringBoot and Atomikos for example.