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.