Same problem on Websphere 7.0.0.39 using a JNDI datasource. There a key design issues to consider with XA transactions. For instance, if an XA transaction is active while calling the Logger, does the logging operation happen under REQUIRES_NEW. Otherwise, if business operation rollsback, log insert may also rollback.
----------------------- [11/17/15 18:38:41:920 EST] 000000e6 MCWrapper E J2CA0081E: Method cleanup failed while trying to execute method cleanup on ManagedConnection WSRdbManaged ConnectionImpl@c910c91 from resource jdbc/MGO. Caught exception: com.ibm.ws.exce ption.WsException: DSRA0080E: An exception was received by the Data Store Adapte r. See original exception message: Cannot call 'cleanup' on a ManagedConnection while it is still in a transaction.. at com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(Data StoreAdapterException.java:251) at com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(Data StoreAdapterException.java:200) at com.ibm.ws.rsadapter.AdapterUtil.createDataStoreAdapterException(Adap terUtil.java:444) at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.cleanupTransactio ns(WSRdbManagedConnectionImpl.java:4620) at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.cleanup(WSRdbMana gedConnectionImpl.java:4062) at com.ibm.ejs.j2c.MCWrapper.cleanup(MCWrapper.java:1553) at com.ibm.ejs.j2c.FreePool.returnToFreePool(FreePool.java:519) at com.ibm.ejs.j2c.PoolManager.release(PoolManager.java:1920) at com.ibm.ejs.j2c.MCWrapper.releaseToPoolManager(MCWrapper.java:2410) at com.ibm.ejs.j2c.ConnectionEventListener.connectionClosed(ConnectionEv entListener.java:377) at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processConnection ClosedEvent(WSRdbManagedConnectionImpl.java:1828) at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.closeWrapper(WSJdbcConnect ion.java:915) at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:241) at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:194) at ch.qos.logback.core.db.DBHelper.closeConnection(DBHelper.java:29) at ch.qos.logback.core.db.DBAppenderBase.append(DBAppenderBase.java:118) at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(Unsynchronize dAppenderBase.java:88)
|