1 Reply Latest reply on Mar 16, 2004 3:59 AM by daggerrz

    oracle.jdbc.xa.OracleXAException  enlistResource failed

    jaganathanj

      Hi All,
      I am trying to migrate a J2EE App from Weblogic to JBoss. I configured the managed connection pool by cloning the oracle-xa-ds.xml (example). But at the runtime, while trying to get a connection from the datasource obtained through JNDI, an oracle.jdbc.xa.OracleXAException is thrown, with the following message.

      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)
      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)
      at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:106)
      at com.verisign.webapps.framework.db.DBManager.getConnection(DBManager.java:130)
      at com.verisign.webapps.dynpromo.biz.DynpromoBaseBO.getConnection(DynpromoBaseBO.java:40)
      at com.verisign.webapps.dynpromo.biz.UserMgmtBO.getUserByCN(UserMgmtBO.java:255)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)


      The configuration xml is


      <xa-datasource>
      <jndi-name>WEBAPPS_TX_DS</jndi-name>
      <track-connection-by-tx>true</track-connection-by-tx>
      <isSameRM-override-value>false</isSameRM-override-value>
      <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
      <xa-datasource-property name="URL">jbdc:oracle:thin:@blah.verisign.com:1521:BLAH</xa-datasource-property>
      <xa-datasource-property name="User">blah</xa-datasource-property>
      <xa-datasource-property name="Password">blah</xa-datasource-property>
      <!-- Uses the pingDatabase method to check a connection is still valid before handing it out from the pool -->
      <!--valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name-->
      <!-- Checks the Oracle error codes and messages for fatal errors -->
      <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
      </xa-datasource>


      <depends optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager




      I use JDK1.4.x, JBoss 3.2.3 and Oracle 8.1.6. I tried both classes12.zip and ojdbc14_g.jar.

      I looked at the previous posts and the same problem seems to have happened to a lot of people. But I couldn't find someone replying with a solution to the above. If I missed something please let me know.

      thanks in advance.