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
OracleTest.java
Description: Binary data
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)
oracle-xa-service.xml
Description: Binary data
user-service.xml
Description: Binary data
login-config.xml
Description: Binary data