WebSphere throws an exception when attempting to close a connection in RDBMUserLayoutStore under WebSphere 6.1 . This exception is thrown when an attempt is made to close a connection with an uncommitted transaction.
This exception was introduced in WebSphere 6.1. In org.jasig.portal.layout.simple.RDBMUserLayoutStore.getUserLayout
~line 1563 sets up a transaction that is not *always* committed. Although this code hasn't changed from 2.5.1 to 2.5.3, WebSphere 6.1 vs WebSphere 6.0 refuses to close the connection with an uncommitted transaction. The stack trace is included for context:
10/13/06 9:24:16:416 PDT] 0000002c MCWrapper E J2CA0081E: Method cleanup failed while trying to execute method cleanup on ManagedConnection
WSRdbManagedConnectionImpl@1edaa2b from resource jdbc/Portal. 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:236)
at com.ibm.ws.rsadapter.exceptions.DataStoreAdapterException.<init>(DataStoreAdapterException.java:185)
at com.ibm.ws.rsadapter.AdapterUtil.createDataStoreAdapterException(AdapterUtil.java:305)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.cleanupTransactions(WSRdbManagedConnectionImpl.java:3504)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.cleanup(WSRdbManagedConnectionImpl.java:3146)
at com.ibm.ejs.j2c.MCWrapper.cleanup(MCWrapper.java:1416)
at com.ibm.ejs.j2c.FreePool.returnToFreePool(FreePool.java:476)
at com.ibm.ejs.j2c.PoolManager.release(PoolManager.java:1598)
at com.ibm.ejs.j2c.MCWrapper.releaseToPoolManager(MCWrapper.java:2243)
at com.ibm.ejs.j2c.ConnectionEventListener.connectionClosed(ConnectionEventListener.java:288)
at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.processConnectionClosedEvent(WSRdbManagedConnectionImpl.java:1523)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.closeWrapper(WSJdbcConnection.java:770)
at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:180)
at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:139)
at org.jasig.portal.RDBMServices.releaseConnection(RDBMServices.java:346)
at org.jasig.portal.layout.simple.RDBMUserLayoutStore.getUserLayout(RDBMUserLayoutStore.java:1856)
at org.jasig.portal.layout.dlm.RDBMDistributedLayoutStore._safeGetUserLayout(RDBMDistributedLayoutStore.java:491)
at org.jasig.portal.layout.dlm.RDBMDistributedLayoutStore.getFragmentLayout(RDBMDistributedLayoutStore.java:569)
at org.jasig.portal.layout.dlm.RDBMDistributedLayoutStore$2.run(RDBMDistributedLayoutStore.java:398)