You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Alexis Midon (JIRA)" <ji...@apache.org> on 2009/04/18 01:26:15 UTC
[jira] Updated: (ODE-515) Unable to enlist XAResource
[ https://issues.apache.org/jira/browse/ODE-515?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexis Midon updated ODE-515:
-----------------------------
Fix Version/s: (was: 1.3.1)
1.3.2
> Unable to enlist XAResource
> ---------------------------
>
> Key: ODE-515
> URL: https://issues.apache.org/jira/browse/ODE-515
> Project: ODE
> Issue Type: Improvement
> Components: JBI Integration
> Affects Versions: 1.3.1
> Environment: ServiceMix 3.3, Hibernate DAO, Oracle Database
> Reporter: Rafal Rusin
> Fix For: 1.3.2
>
>
> I used a following configuration in jndi.xml:
> <bean id="odeMCF" class="org.tranql.connector.oracle.XAMCF">
> <property name="databaseName" value="XE"/>
> <property name="userName" value="ode12"/>
> <property name="password" value="ode12"/>
> <property name="portNumber" value="1521"/>
> <property name="serverName" value="localhost"/>
> <property name="driverType" value="thin"/>
> </bean>
> <bean id="odeDataSource" class="org.jencks.factory.ConnectionFactoryFactoryBean">
> <property name="managedConnectionFactory" ref="odeMCF"/>
> <property name="connectionManager" ref="connectionManager"/>
> </bean>
> Note that tranql is configured using vendor-oracle jar instead of org.jencks.tranql.DataSourceMCF.
> I deployed ODE successfully.
> I deployed process helloworld-sa.
> I got a following warning:
> 17:30:53,359 | WARN | Timer-3 | Transaction | action.manager.TransactionImpl 212 | Unable to enlist XAResource org.apache.geronimo.transaction.manager.WrapperNamedXAResource@1190cfc, errorC
> ode: -6
> oracle.jdbc.xa.OracleXAException
> at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1120)
> at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:249)
> at org.apache.geronimo.transaction.manager.WrapperNamedXAResource.start(WrapperNamedXAResource.java:86)
> at org.apache.geronimo.transaction.manager.TransactionImpl.enlistResource(TransactionImpl.java:208)
> at org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.getConnection(TransactionEnlistingInterceptor.java:54)
> at org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.getConnection(TransactionCachingInterceptor.java:88)
> at org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.getConnection(ConnectionHandleInterceptor.java:43)
> at org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection(TCCLInterceptor.java:39)
> at org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.getConnection(ConnectionTrackingInterceptor.java:66)
> at org.apache.geronimo.connector.outbound.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:87)
> at org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:56)
> at org.apache.ode.daohib.SessionManager.getConnection(SessionManager.java:115)
> at org.apache.ode.daohib.DataSourceConnectionProvider.getConnection(DataSourceConnectionProvider.java:43)
> at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423)
> at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
> at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
> at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)
> at org.hibernate.loader.Loader.doQuery(Loader.java:673)
> at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
> at org.hibernate.loader.Loader.doList(Loader.java:2220)
> at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
> at org.hibernate.loader.Loader.list(Loader.java:2099)
> at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
> at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
> at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
> at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:305)
> at org.apache.ode.daohib.bpel.BpelDAOConnectionImpl.getProcess(BpelDAOConnectionImpl.java:119)
> at org.apache.ode.bpel.engine.BpelProcess.bounceProcessDAO(BpelProcess.java:753)
> at org.apache.ode.bpel.engine.BpelProcess.access$1500(BpelProcess.java:78)
> at org.apache.ode.bpel.engine.BpelProcess$HydrationLatch$3.call(BpelProcess.java:872)
> at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:208)
> at org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.doHydrate(BpelProcess.java:870)
> at org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.access$100(BpelProcess.java:786)
> at org.apache.ode.bpel.engine.BpelProcess$HydrationLatch$2.run(BpelProcess.java:796)
> at org.apache.ode.bpel.engine.NStateLatch.latch(NStateLatch.java:89)
> at org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:661)
> at org.apache.ode.bpel.engine.BpelServerImpl.register(BpelServerImpl.java:285)
> at org.apache.ode.jbi.OdeServiceUnit.start(OdeServiceUnit.java:104)
> at org.apache.ode.jbi.OdeSUManager.start(OdeSUManager.java:115)
> at org.apache.servicemix.jbi.framework.ServiceUnitLifeCycle.start(ServiceUnitLifeCycle.java:103)
> at org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(ServiceAssemblyLifeCycle.java:132)
> at org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentService.java:378)
> at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:355)
> at org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:256)
> at org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:667)
> at org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:62)
> at org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:631)
> at java.util.TimerThread.mainLoop(Timer.java:512)
> at java.util.TimerThread.run(Timer.java:462)
> I did some research for this and found that enabling JTA environment for hibernate in bpel-store/src/main/java/org/apache/ode/store/hib/DbConfStoreConnectionFactory.java, adding transactionManager.begin() and commit() in jbi/src/main/java/org/apache/ode/jbi/OdeSUManager.java and modifying ProcessStoreImpl.java so it uses the same thread for database operations, solves problem.
> It is similar to transactions usage in dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionFactoryImpl.java, which doesn't show this warning.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.