I'm trying to get XA transactions to work in JBoss 3.0.0 with Oracle 9i.

I've tried the oracle-service.xml provided with JBoss in
docs/examples/jca (which uses LocalTxConnectionManager), and it works
fine.  I modified it to make an oracle-xa-service.xml (attached), using
XATxConnectionManager, and I'm testing it with a little MBean service
(attached).  I can get a DataSource, get a Connection from it, and do a
SELECT, but when my service calls Connection.close(), I get the
following exception:

java.lang.IllegalArgumentException: xaRes not enlisted
        at org.jboss.tm.TxCapsule.delistResource(TxCapsule.java:546)

(Full stack trace attached.)

Can anyone tell me what I'm doing wrong?

Ben

Attachment: OracleTest.java
Description: Binary data

Attachment: OracleTestMBean.java
Description: Binary data

java.lang.IllegalArgumentException: xaRes not enlisted
        at org.jboss.tm.TxCapsule.delistResource(TxCapsule.java:546)
        at org.jboss.tm.TransactionImpl.delistResource(TransactionImpl.java:93)
        at 
org.jboss.resource.connectionmanager.XATxConnectionManager$XAConnectionEventListener.delist(XATxConnectionManager.java:284)
        at 
org.jboss.resource.connectionmanager.XATxConnectionManager$XAConnectionEventListener.connectionClosed(XATxConnectionManager.java:329)
        at 
org.jboss.resource.adapter.jdbc.BaseManagedConnection.fireConnectionEvent(BaseManagedConnection.java:152)
        at 
org.jboss.resource.adapter.jdbc.xa.XAManagedConnection.fireConnectionEvent(XAManagedConnection.java:203)
        at 
org.jboss.resource.adapter.jdbc.xa.XAManagedConnection$1.connectionClosed(XAManagedConnection.java:115)
        at 
oracle.jdbc.pool.OraclePooledConnection.callListener(OraclePooledConnection.java:482)
        at 
oracle.jdbc.pool.OraclePooledConnection.logicalClose(OraclePooledConnection.java:445)
        at oracle.jdbc.driver.OracleConnection.logicalClose(OracleConnection.java:2900)
        at oracle.jdbc.driver.OracleConnection.close(OracleConnection.java:1418)

        at txtest.OracleTest.startService(OracleTest.java:36)
        at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:162)
        at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
        at 
org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:894)
        at $Proxy6.start(Unknown Source)
        at org.jboss.system.ServiceController.start(ServiceController.java:340)
        at org.jboss.system.ServiceController.start(ServiceController.java:358)
        at org.jboss.system.ServiceController.start(ServiceController.java:358)
        at org.jboss.system.ServiceController.start(ServiceController.java:358)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
        at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
        at $Proxy5.start(Unknown Source)
        at org.jboss.resource.RARDeployer.start(RARDeployer.java:212)
        at org.jboss.deployment.MainDeployer.start(MainDeployer.java:678)
        at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:513)
        at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:481)
        at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
        at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
        at $Proxy4.deploy(Unknown Source)
        at 
org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:405)
        at 
org.jboss.deployment.scanner.URLDeploymentScanner.scanDirectory(URLDeploymentScanner.java:586)
        at 
org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:465)
        at 
org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:237)
        at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:162)
        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)
        at 
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
        at 
org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:894)
        at $Proxy0.start(Unknown Source)
        at org.jboss.system.ServiceController.start(ServiceController.java:340)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
        at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
        at $Proxy3.start(Unknown Source)
        at org.jboss.deployment.SARDeployer.start(SARDeployer.java:243)
        at org.jboss.deployment.MainDeployer.start(MainDeployer.java:678)
        at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:513)
        at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:481)
        at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:465)
        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)
        at 
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
        at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:314)
        at org.jboss.system.server.ServerImpl.start(ServerImpl.java:216)
        at org.jboss.Main.boot(Main.java:142)
        at org.jboss.Main$1.run(Main.java:375)
        at java.lang.Thread.run(Thread.java:536)

Attachment: oracle-xa-service.xml
Description: Binary data

Attachment: user-service.xml
Description: Binary data

Attachment: login-config.xml
Description: Binary data

Reply via email to