Need to support of working Ignite transactions inside WebSphere Application Server (8.5.5).
The issue only about poor (ordinary) WebSphere Application Server.
There is no issue with WebSphere Liberty. To enable JTA on WS Liberty it is enough to do the following.
1. add the following class in own libs:
public class WebSphereTmFactory implements Factory<TransactionManager> { /** {@inheritDoc} */ @Override public TransactionManager create() { return com.ibm.tx.jta.TransactionManagerFactory.getTransactionManager(); } }
2. It's required the following maven dependencies:
<dependency> <groupId>com.ibm.websphere.appserver.api</groupId> <artifactId>com.ibm.websphere.appserver.api.transaction</artifactId> <version>1.1.10</version> </dependency>
3. And Ignite's TransactionConfiguration has to be properly configured with WebSphereTmFactory:
TransactionConfiguration tcfg = new TransactionConfiguration(); TransactionConfiguration.setTxManagerFactory(new WebSphereTmFactory()); igniteCfg.setTransactionConfiguration(tcfg)