[ 
https://issues.apache.org/jira/browse/ODE-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13084952#comment-13084952
 ] 

Michael Smith commented on ODE-302:
-----------------------------------

Just FYI, this issue (TransactionManager is not recoverable) still exists in 
1.4-snapshot (trunk) running under ServiceMix 4.4 with INTERNAL database mode.

I ported the patch attached to this bug and get the following trace:

[code]
2011-08-14 23:44:33,573 DEBUG [ODE Extender:Start:com.xxx.biz-engine] 
(BpelProcess.java:994) - Creating new process DAO for 
{urn:xxx:201106:business:bpel}BusinessProcess-0 
(guid=trnr1ec1w78hmne3uk5nq4chgaj6lw1e)...
2011-08-14 23:44:33,573 ERROR [ODE Extender:Start:com.xxx.biz-engine] 
(BpelDAOConnectionImpl.java:132) - DbError
org.hibernate.HibernateException: Unable to locate current JTA transaction
        at 
org.hibernate.context.JTASessionContext.currentSession(JTASessionContext.java:61)[226:wrap_mvn_org.hibernate_hibernate_3.2.5.ga:0]
        at 
org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:544)[226:wrap_mvn_org.hibernate_hibernate_3.2.5.ga:0]
        at 
org.apache.ode.daohib.SessionManager.getSession(SessionManager.java:104)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.daohib.bpel.BpelDAOConnectionImpl.getSession(BpelDAOConnectionImpl.java:89)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.daohib.bpel.BpelDAOConnectionImpl.getProcess(BpelDAOConnectionImpl.java:126)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.bpel.engine.BpelProcess.createProcessDAO(BpelProcess.java:1006)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.bpel.engine.BpelProcess.bounceProcessDAOInDB(BpelProcess.java:995)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.bpel.engine.BpelProcess.access$1700(BpelProcess.java:97)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch$3.call(BpelProcess.java:975)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:286)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:241)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.doHydrate(BpelProcess.java:973)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.access$200(BpelProcess.java:836)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch$2.run(BpelProcess.java:846)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.bpel.engine.NStateLatch.latch(NStateLatch.java:89)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:747)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.bpel.engine.BpelServerImpl.register(BpelServerImpl.java:324)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.jbi.OdeServiceUnit.start(OdeServiceUnit.java:118)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.jbi.OdeSUManager.start(OdeSUManager.java:118)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.jbi.osgi.deployer.OdeDeployedBundle.deploy(OdeDeployedBundle.java:158)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.jbi.osgi.deployer.OdeDeployedBundle.doStart(OdeDeployedBundle.java:92)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.jbi.osgi.deployer.OdeExtenderImpl$Start.perform(OdeExtenderImpl.java:240)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
org.apache.ode.jbi.osgi.deployer.OdeExtenderImpl$OperationClosure.run(OdeExtenderImpl.java:222)[247:org.apache.ode.ode-jbi-bundle:1.4.0.SNAPSHOT]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_26]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_26]
        at java.lang.Thread.run(Thread.java:662)[:1.6.0_26]
[/code]

> Use embedded TransactionManager if database mode is EMBEDDED or INTERNAL
> ------------------------------------------------------------------------
>
>                 Key: ODE-302
>                 URL: https://issues.apache.org/jira/browse/ODE-302
>             Project: ODE
>          Issue Type: Bug
>          Components: JBI Integration
>            Reporter: Alex Boisvert
>              Labels: patch
>             Fix For: 2.0
>
>         Attachments: ODE302.patch.txt
>
>
> Ode should not use the TransactionManager provided by the JBI container in 
> EMBEDDED and INTERNAL database modes since it creates its own DataSource 
> which are not under the responsibility of the container's TransactionManager. 
>    This happened to work with ServiceMix since it uses the same 
> TransactionManager (Geronimo's), but it's not something we can assume in 
> other JBI environments.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to