Oracle XA Configuration - Use explicit XA call
muruga Jan 8, 2003 5:14 PMHi,
I am using JBoss 3.2 Beta3 with Oracle XA driver. When i try to use the XADatasource, i get Use explicit XA call ResourceException (see below for the full error message). I thought the oracle XA problem got solved in 3.2 beta3. Maybe i am doing something wrong. Can somebody please help me with this?
Here is the oracle xa data source config:
XA Data Source Config:
=====================
<xa-datasource>
<jndi-name>JSBContainerXADataSource</jndi-name>
<track-connection-by-tx>true</track-connection-by-tx>
<managedconnectionfactory-class>org.jboss.resource.adapter.jdbc.xa.oracle.XAOracleManagedConnectionFactory</managedconnectionfactory-class>
<!--xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class-->
<xa-datasource-property name="URL">jdbc:oracle:oci8:@</xa-datasource-property>
<xa-datasource-property name="User">muruga</xa-datasource-property>
<xa-datasource-property name="Password">muruga</xa-datasource-property>
</xa-datasource>
Transaction Service Config:
==========================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE server>
<!-- $Id: transaction-service.xml,v 1.2 2002/07/05 06:10:56 d_jencks Exp $ -->
<!-- ==================================================================== -->
<!-- Transactions -->
<!-- ==================================================================== -->
<!-- The configurable Xid factory. For use with Oracle, set pad to true -->
true
<!--
| The fast in-memory transaction manager.
-->
300
<depends optional-attribute-name="XidFactory">jboss:service=XidFactory
<!--
| UserTransaction support.
-->
<!--
| The CachedConnectionManager is used partly to relay started UserTransactions to
| open connections so they may be enrolled in the new tx.
-->
Exception Trace
===============
2003-01-08 14:26:26,406 INFO [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] ResourceException returning ManagedConnection to pool:
javax.resource.ResourceException: Could not cleanup: java.sql.SQLException: Use explicit XA call
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.cleanup(BaseWrapperManagedConnection.java:175)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.returnConnection(InternalManagedConnectionPool.java:143)
at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool.returnConnection(JBossManagedConnectionPool.java:516)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.returnManagedConnection(BaseConnectionManager2.java:554)
at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener$TxRemover.afterCompletion(TxConnectionManager.java:628)
at org.jboss.tm.TransactionImpl.doAfterCompletion(TransactionImpl.java:1206)
at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:381)
at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:361)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:295)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:101)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:130)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:204)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:154)
at org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:303)
at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:351)
at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:81)
at $Proxy84.getNextKeySet(Unknown Source)
at com.collaxa.cube.engine.data.CubeInstanceKeyFactory.create(CubeInstanceKeyFactory.java:62)
at com.collaxa.cube.engine.core.CubeInstanceFactory.create(CubeInstanceFactory.java:33)
at com.collaxa.cube.engine.CubeEngine.createInstance(CubeEngine.java:2710)
at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1075)
at com.collaxa.cube.engine.bean.CubeEngineBean.createAndInvoke(CubeEngineBean.java:100)
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.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:606)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:77)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:108)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:237)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:101)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:130)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:204)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:154)
at org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:303)
at org.jboss.ejb.Container.invoke(Container.java:680)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:100)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:88)
at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80)
at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:109)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:82)
at $Proxy77.createAndInvoke(Unknown Source)
at com.collaxa.client.dispatch.BaseDelegate.__asyncCreateAndInvoke(BaseDelegate.java:70)
at com.cxdn.samples.HelloWorldDispatchDelegate.createAndInvoke(HelloWorldDispatchDelegate.java:59)
at org.apache.jsp.ngDoInitiate_jsp._jspService(ngDoInitiate_jsp.java:144)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:272)
at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:194)
at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:121)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:822)
at org.apache.jsp.displayScenario_jsp._jspService(displayScenario_jsp.java:366)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:272)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:550)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1655)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:542)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1605)
at org.mortbay.http.HttpServer.service(HttpServer.java:862)
at org.jboss.jetty.Jetty.service(Jetty.java:497)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:752)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:916)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:769)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:202)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455)