I used google to find this for you: https://community.jboss.org/wiki/CouldNotEnlistInTransaction
Looks like the transaction timed out at a guess. The error message is actually coming from JCA rather than JBTM.
thanks for your reply, i dont think this is because of transaction time out. because i experimented by setting a small time out for a transaction, "Interrupted while requesting permit" msg was there in logs.. but this msg was not there when could not enlist error came..
it would be great if u tell the possible scenarios this could not enlist will come. note that i am using only one database (mysql) and only one local-tx-datasource..
i dont think even a transaction being marked as rollback will throw this could not enlist msg...
The article Tom referenced says that there are other reasons besides timeouts for a transaction being marked as rollback only. For example if you try to access two non XA databases you may see this error (but I am sure there are also be other reasons why a transaciton can be marked rollback only).
What do you mean by "i am using only one database (mysql) and only one local-tx-datasource". Is there anything else in the logs that might indicate what is going on.
i am using only one <local-tx-datasource>
no info about timeout, rollback, deadlock in logs... this exception comes as:
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 **
MESSAGE: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
MESSAGE: Software caused connection abort: socket write error
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)
As I mentioned before, this looks like a JCA question really, why not ask it over at the IronJacamar forums? Those guys should be able to assist you better than we can on that type of issue.
Can you post your datasource and/or persistence unit configuration. Are there any other errors or warnings in the logs
Ok Tom, i will post there...
Michael, now i dont have access to that.. but i am just interested what would be the reason for the above error to come, if i use only one <local-tx-datasource> and there is no rollback, timeout, deadlock info in logs.. just the above msg keeps on printing in logs.. if i restart, its working good.. and this is not occuring frequently...
Hi rpraveenkumar, would you be able to update this thread with a link to the question you asked in the JCA forum as it will be useful for others with the same issue.