2 Replies Latest reply on Dec 7, 2012 4:42 AM by rpraveenkumar

    What is the REASON for the exception: could not enlist in transaction

    rpraveenkumar Newbie

      Hi pls tell me what is the REASON for the following exception to occur:

       

      Caused by: org.jboss.util.NestedSQLException: Could not enlist in transaction on entering meta-aware object!javax.transaction.SystemException: enlistResource failed; - nested throwable: (javax.resource.ResourceException: Could not enlist in transaction on entering meta-aware object!javax.transaction.SystemException: enlistResource failed)

       

       

      what is that META AWARE OBJECT?

       

      Note: i am using only one database, not two or more databases. [USING ONLY ONE <local-tx-datasource> (for mysql database)]

       

      no info about timeout, rollback, deadlock in logs...

       

      atleast please tell me what is the scenario in which above error will come...

        • 2. Re: What is the REASON for the exception: could not enlist in transaction
          rpraveenkumar Newbie

          For your reference my stack trace is

           

          am wondering how this could not enlist will come even if i use only one <local-tx-datasource>

           

          i think the exception occurs when trying to get connection from connection pool [based on following exception info]

           

          org.jboss.util.NestedSQLException: Could not enlist in transaction on entering meta-aware object!javax.transaction.SystemException: enlistResource failed; - nested throwable: (javax.resource.ResourceException: Could not enlist in transaction on entering meta-aware object!javax.transaction.SystemException: enlistResource failed)

           

          com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error:

          ** BEGIN NESTED EXCEPTION **

           

          com.mysql.jdbc.CommunicationsException

          MESSAGE: Communications link failure due to underlying exception:

           

          ** BEGIN NESTED EXCEPTION **

           

          java.net.SocketException

          MESSAGE: Software caused connection abort: socket write error

           

          STACKTRACE:

           

          java.net.SocketException: Software caused connection abort: socket write error

              at java.net.SocketOutputStream.socketWrite0(Native Method)

              at java.net.SocketOutputStream.socketWrite(Unknown Source)

              at java.net.SocketOutputStream.write(Unknown Source)

              at java.io.BufferedOutputStream.flushBuffer(Unknown Source)

              at java.io.BufferedOutputStream.flush(Unknown Source)

              at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2631)

              at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1548)

              at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1659)

              at com.mysql.jdbc.Connection.execSQL(Connection.java:3112)

              at com.mysql.jdbc.Connection.setAutoCommit(Connection.java:5209)

              at org.jboss.resource.adapter.jdbc.local.LocalManagedConnection.begin(LocalManagedConnection.java:135)

              at org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource.start(TxConnectionManager.java:650)

              at org.jboss.tm.TransactionImpl.startResource(TransactionImpl.java:1196)

              at org.jboss.tm.TransactionImpl.enlistResource(TransactionImpl.java:649)

              at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:437)

              at org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:323)

              at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:502)

               .

               .

               .