Problem with Global transactions and local transactions
843830Jan 20 2005 — edited Apr 29 2005I am getting this following trace while committing the data. Any body having idea about it.This is in Websphere Application Server v 6.0.0.1
[1/20/05 12:17:44:719 IST] 00000048 MCWrapper E J2CA0081E: Method cleanup failed while trying to execute method cleanup on ManagedConnection WSRdbManagedConnectionImpl@32d6f85 from resource jdbc/CompanyDataSource. Caught exception: com.ibm.ws.exception.WsException: DSRA0080E: An exception was received by the Data Store Adapter. 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>(DataStoreAdapterException.java:224)
at com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:175)
at com.ibm.ws.rsadapter.AdapterUtil.createDataStoreAdapterException(AdapterUtil.java:232)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.cleanupTransactions(WSRdbManagedConnectionImpl.java:3262)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.cleanup(WSRdbManagedConnectionImpl.java:2902)
at com.ibm.ejs.j2c.MCWrapper.cleanup(MCWrapper.java:1331)
at com.ibm.ejs.j2c.poolmanager.FreePool.cleanupAndDestroyMCWrapper(FreePool.java:618)
at com.ibm.ejs.j2c.poolmanager.FreePool.returnToFreePool(FreePool.java:427)
at com.ibm.ejs.j2c.poolmanager.PoolManager.release(PoolManager.java:1471)
at com.ibm.ejs.j2c.MCWrapper.releaseToPoolManager(MCWrapper.java:1860)
at com.ibm.ejs.j2c.LocalTransactionWrapper.enlist(LocalTransactionWrapper.java:662)
at com.ibm.ejs.j2c.ConnectionEventListener.localTransactionStarted(ConnectionEventListener.java:574)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processLocalTransactionStartedEvent(WSRdbManagedConnectionImpl.java:1660)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.beginLocalTransactionIfNecessary(WSJdbcConnection.java:447)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.beginTransactionIfNecessary(WSJdbcConnection.java:608)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java:1827)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java:1782)
at com.stc.eindex.ops.ObjectPersistenceService.getStatement(ObjectPersistenceService.java:74)
at com.stc.eindex.ops.EnterpriseDB.get(EnterpriseDB.java:108)
at com.stc.eindex.ejb.ops.TransactionMgrBean.getEnterpriseObject(TransactionMgrBean.java:112)
at com.stc.eindex.ejb.ops.EJSLocalStatelessTransactionMgrEJB_a5d56077.getEnterpriseObject(Unknown Source)
at com.stc.eindex.ejb.master.MasterControllerEJB.getEnterpriseObject(MasterControllerEJB.java:298)
at com.stc.eindex.ejb.master.EJSRemoteStatelessMasterController_c7831b90.getEnterpriseObject(Unknown Source)
at com.stc.eindex.ejb.master._MasterController_Stub.getEnterpriseObject(_MasterController_Stub.java:608)
at com.stc.eindex.qws.forms.EOViewEditForm.setEuid(EOViewEditForm.java:767)
at com.stc.eindex.qws.forms.EOViewEditForm.processAction(EOViewEditForm.java:984)
at com.stc.eindex.qws.actions.LeaveEOViewEditAction.doPerform(LeaveEOViewEditAction.java:94)
at com.stc.eindex.qws.actions.QwsBaseAction.execute(QwsBaseAction.java:123)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:446)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:266)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1292)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:80)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1657)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332)
[1/20/05 12:17:44:828 IST] 00000048 LocalTransact E J2CA0030E: Method enlist caught java.lang.IllegalStateException: Cannot enlist Resource for cleanup. A Global transaction is active.
at com.ibm.ws.LocalTransaction.LocalTranCoordImpl.enlistForCleanup(LocalTranCoordImpl.java:489)
at com.ibm.ejs.j2c.LocalTransactionWrapper.enlist(LocalTransactionWrapper.java:646)
at com.ibm.ejs.j2c.ConnectionEventListener.localTransactionStarted(ConnectionEventListener.java:574)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processLocalTransactionStartedEvent(WSRdbManagedConnectionImpl.java:1660)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.beginLocalTransactionIfNecessary(WSJdbcConnection.java:447)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.beginTransactionIfNecessary(WSJdbcConnection.java:608)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java:1827)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java:1782)
at com.stc.eindex.ops.ObjectPersistenceService.getStatement(ObjectPersistenceService.java:74)
at com.stc.eindex.ops.EnterpriseDB.get(EnterpriseDB.java:108)
at com.stc.eindex.ejb.ops.TransactionMgrBean.getEnterpriseObject(TransactionMgrBean.java:112)
at com.stc.eindex.ejb.ops.EJSLocalStatelessTransactionMgrEJB_a5d56077.getEnterpriseObject(Unknown Source)
at com.stc.eindex.ejb.master.MasterControllerEJB.getEnterpriseObject(MasterControllerEJB.java:298)
at com.stc.eindex.ejb.master.EJSRemoteStatelessMasterController_c7831b90.getEnterpriseObject(Unknown Source)
at com.stc.eindex.ejb.master._MasterController_Stub.getEnterpriseObject(_MasterController_Stub.java:608)
at com.stc.eindex.qws.forms.EOViewEditForm.setEuid(EOViewEditForm.java:767)
at com.stc.eindex.qws.forms.EOViewEditForm.processAction(EOViewEditForm.java:984)
at com.stc.eindex.qws.actions.LeaveEOViewEditAction.doPerform(LeaveEOViewEditAction.java:94)
at com.stc.eindex.qws.actions.QwsBaseAction.execute(QwsBaseAction.java:123)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:446)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:266)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1292)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:80)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1657)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332)
while trying to enlist resources from datasource jdbc/CompanyDataSource with the Transaction Manager for the current transaction, and threw a Exception.
[1/20/05 12:17:44:891 IST] 00000048 ConnectionEve E J2CA0074E: Unable to enlist connection from resource jdbc/CompanyDataSource with current transaction in method localTransactionStarted due to exception. Initiating destruction of connection. Exception is: javax.resource.ResourceException: enlist: caught Exception
at com.ibm.ejs.j2c.LocalTransactionWrapper.enlist(LocalTransactionWrapper.java:666)
at com.ibm.ejs.j2c.ConnectionEventListener.localTransactionStarted(ConnectionEventListener.java:574)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processLocalTransactionStartedEvent(WSRdbManagedConnectionImpl.java:1660)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.beginLocalTransactionIfNecessary(WSJdbcConnection.java:447)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.beginTransactionIfNecessary(WSJdbcConnection.java:608)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java:1827)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java:1782)
at com.stc.eindex.ops.ObjectPersistenceService.getStatement(ObjectPersistenceService.java:74)
at com.stc.eindex.ops.EnterpriseDB.get(EnterpriseDB.java:108)
at com.stc.eindex.ejb.ops.TransactionMgrBean.getEnterpriseObject(TransactionMgrBean.java:112)
at com.stc.eindex.ejb.ops.EJSLocalStatelessTransactionMgrEJB_a5d56077.getEnterpriseObject(Unknown Source)
at com.stc.eindex.ejb.master.MasterControllerEJB.getEnterpriseObject(MasterControllerEJB.java:298)
at com.stc.eindex.ejb.master.EJSRemoteStatelessMasterController_c7831b90.getEnterpriseObject(Unknown Source)
at com.stc.eindex.ejb.master._MasterController_Stub.getEnterpriseObject(_MasterController_Stub.java:608)
at com.stc.eindex.qws.forms.EOViewEditForm.setEuid(EOViewEditForm.java:767)
at com.stc.eindex.qws.forms.EOViewEditForm.processAction(EOViewEditForm.java:984)
at com.stc.eindex.qws.actions.LeaveEOViewEditAction.doPerform(LeaveEOViewEditAction.java:94)
at com.stc.eindex.qws.actions.QwsBaseAction.execute(QwsBaseAction.java:123)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:446)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:266)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1292)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:80)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1657)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332)
Caused by: java.lang.IllegalStateException: Cannot enlist Resource for cleanup. A Global transaction is active.
at com.ibm.ws.LocalTransaction.LocalTranCoordImpl.enlistForCleanup(LocalTranCoordImpl.java:489)
at com.ibm.ejs.j2c.LocalTransactionWrapper.enlist(LocalTransactionWrapper.java:646)
... 36 more