Does JBoss Transactions throw exception on more than one loc
rupertlssmith Nov 26, 2006 11:15 AMI just installed transactions 4.2.2 on server 4.0.4GA and now I am migrating my project to take advantage of the XA protocol with recovery. Prior to this, I was aware that that the XA implementation on JBoss was not really complete. I had my two resources, a database and my own JCA adapter, set up as local tx managed resources, even though methods in my session beans would access both in the same transaction. Without transaction logging there didn't seem much point in trying to do XA; a real failure would still screw things up.
I have run my unit tests on the new setup (with transaction 4.2.2) and found that they behave the same, where only one resource is hit. The tests which hit both resources fail. I plan to fix this in the near future by completing the XAResource implementation for my JCA wrapper.
Can someone confirm for me that this is happening because I am using two local tx resources, when I should be using XA resources? The error message I get does not make this obvious if it is in fact the case. Here is it is:
org.jboss.resource.JBossResourceException: Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: -3f57fffd:a7d:4569b0f6:4f status: 3 >)
at org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:329)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.reconnectManagedConnection(BaseConnectionManager2.java:501)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:382)
at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:812)
at uk.co.thebadgerset.index.ra.IndexConnectionFactoryImpl.createConnection(IndexConnectionFactoryImpl.java:111)
at uk.co.thebadgerset.catalogue.impl.session.CatalogueManagerBean.getIndex(CatalogueManagerBean.java:386)
... 64 more
Caused by: javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: -3f57fffd:a7d:4569b0f6:4f status: 3 >
at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener$TransactionSynchronization.checkEnlisted(TxConnectionManager.java:728)
at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:561)
at org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:323)
... 69 more