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

      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...

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

          i am using jboss 3.2.6

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

            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)

                 .

                 .

                 .