You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Andriotto Massimiliano <ma...@necsy.it> on 2009/09/11 15:26:09 UTC

ODE 1.3.3 ServiceMix 3.3.1 Oracle - Transaction Problems

Hi to all

I need to deploy ODE-JBI 1.3.3 inside ServiceMix 3.3.1 with Oracle DB
instead of derbydb

I inserted in jndi.xml this:

 

<bean id="odeManagedConnectionFactory"
class="org.tranql.connector.oracle.XAMCF">

    <property name="databaseName" value="SMM"/>

    <property name="userName" value="ode"/>

    <property name="password" value="ode"/>

    <property name="portNumber" value="1521"/>

    <property name="serverName" value="10.1.0.67"/>

    <property name="driverType" value="thin"/>

  </bean>

  

 and this:

 

 <entry key="java:comp/env/jdbc/ode">

        <bean id="odeDataSource"
class="org.jencks.factory.ConnectionFactoryFactoryBean">

            <property name="managedConnectionFactory"
ref="odeManagedConnectionFactory"/>

            <property name="connectionManager" ref="connectionManager"/>

        </bean>

     </entry>

            

My servicemix.xml is this (no JCA Flow):

 

<sm:flows>

          <sm:stFlow name="simple" />

        </sm:flows>

 

and I put in lib these jars:

 

dms-3.0.jar

ojdbc-14.jar

jencks-2.1-all.jar

tranql-connector-1.4.jar

tranql-connector-oracle-common-1.4.jar

 

I configured ode to use Oracle external DB.

The system starts correctly but if I try to deploy the Hello World
example I receive thie error:

 

INFO  - ComponentMBeanImpl             - Setting running state for
Component: servicemix-xmpp to Started

INFO  - ComponentMBeanImpl             - Initializing component:
servicemix-xmpp

INFO  - JBIContainer                   - ServiceMix JBI Container
(ServiceMix) started

INFO  - AutoDeploymentService          - Directory: hotdeploy: Archive
changed: processing HelloWorld2-sa.zip ...

INFO  - JDBCAdapterFactory             - Database driver recognized:
[apache_derby_embedded_jdbc_driver]

INFO  - LogTask                        - Logging system reconfigured
using file: file:/C:/smx/apache-servicemix-3.3.1/conf/log4j.xml

WARN  - Transaction                    - Unexpected exception from
beforeCompletion; transaction will roll back

<openjpa-1.3.0-SNAPSHOT-r422266:724491 nonfatal user error>
org.apache.openjpa.persistence.InvalidStateException: Attempt to commit
a null javax.transaction.Transaction.  Some application servers set

the transaction to null if a rollback occurs.

        at
org.apache.openjpa.kernel.BrokerImpl.setRollbackOnlyInternal(BrokerImpl.
java:1491)

        at
org.apache.openjpa.kernel.BrokerImpl.setRollbackOnly(BrokerImpl.java:147
7)

        at
org.apache.openjpa.kernel.DelegatingBroker.setRollbackOnly(DelegatingBro
ker.java:925)

        at
org.apache.openjpa.persistence.EntityManagerImpl.setRollbackOnly(EntityM
anagerImpl.java:560)

        at
org.apache.openjpa.persistence.PersistenceExceptions$2.translate(Persist
enceExceptions.java:71)

        at
org.apache.openjpa.kernel.BrokerImpl.translateManagedCompletionException
(BrokerImpl.java:1897)

        at
org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:18
31)

        at
org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion
(TransactionImpl.java:514)

        at
org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion
(TransactionImpl.java:498)

        at
org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(Tr
ansactionImpl.java:400)

        at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(Transacti
onImpl.java:257)

        at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(Tr
ansactionManagerImpl.java:239)

        at
org.apache.ode.store.jpa.DbConfStoreConnectionFactory.commitTransaction(
DbConfStoreConnectionFactory.java:84)

        at
org.apache.ode.store.ProcessStoreImpl$Callable.call(ProcessStoreImpl.jav
a:735)

        at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

        at java.util.concurrent.FutureTask.run(FutureTask.java:138)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto
r.java:886)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
va:908)

        at java.lang.Thread.run(Thread.java:619)

ERROR - ProcessStoreImpl               - DbError

java.lang.RuntimeException: java.lang.IllegalStateException: No
transaction associated with current thread

        at
org.apache.ode.store.jpa.DbConfStoreConnectionFactory.rollbackTransactio
n(DbConfStoreConnectionFactory.java:95)

        at
org.apache.ode.store.ProcessStoreImpl$Callable.call(ProcessStoreImpl.jav
a:741)

        at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

        at java.util.concurrent.FutureTask.run(FutureTask.java:138)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto
r.java:886)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
va:908)

        at java.lang.Thread.run(Thread.java:619)

Caused by: java.lang.IllegalStateException: No transaction associated
with current thread

        at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback(
TransactionManagerImpl.java:248)

        at
org.apache.ode.store.jpa.DbConfStoreConnectionFactory.rollbackTransactio
n(DbConfStoreConnectionFactory.java:93)

        ... 6 more

ERROR - OdeServiceUnit                 - Error deploying process
described by deployment descriptor
"C:\smx\apache-servicemix-3.3.1\data\smx\service-assemblies\HelloWorld2-
SA\version_1\sus\OdeBpelEngi

ne\HelloWorld2-process" for service unit "HelloWorld2-process".

org.apache.ode.bpel.iapi.ContextException: DbError

        at
org.apache.ode.store.ProcessStoreImpl.exec(ProcessStoreImpl.java:575)

        at
org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:258)

        at
org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:169)

        at
org.apache.ode.jbi.OdeServiceUnit.deploy(OdeServiceUnit.java:62)

        at org.apache.ode.jbi.OdeSUManager.deploy(OdeSUManager.java:57)

        at
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssem
bly(DeploymentService.java:520)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceA
ssembly(AutoDeploymentService.java:349)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
AutoDeploymentService.java:255)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirecto
ry(AutoDeploymentService.java:658)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(Aut
oDeploymentService.java:63)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDepl
oymentService.java:622)

        at java.util.TimerThread.mainLoop(Timer.java:512)

        at java.util.TimerThread.run(Timer.java:462)

Caused by: java.util.concurrent.ExecutionException:
java.lang.RuntimeException: javax.transaction.RollbackException: Unable
to commit: transaction marked for rollback

        at
java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)

        at java.util.concurrent.FutureTask.get(FutureTask.java:83)

        at
org.apache.ode.store.ProcessStoreImpl.exec(ProcessStoreImpl.java:573)

        ... 12 more

Caused by: java.lang.RuntimeException:
javax.transaction.RollbackException: Unable to commit: transaction
marked for rollback

        at
org.apache.ode.store.jpa.DbConfStoreConnectionFactory.commitTransaction(
DbConfStoreConnectionFactory.java:86)

        at
org.apache.ode.store.ProcessStoreImpl$Callable.call(ProcessStoreImpl.jav
a:735)

        at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

        at java.util.concurrent.FutureTask.run(FutureTask.java:138)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto
r.java:886)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
va:908)

        at java.lang.Thread.run(Thread.java:619)

Caused by: javax.transaction.RollbackException: Unable to commit:
transaction marked for rollback

        at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(Transacti
onImpl.java:271)

        at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(Tr
ansactionManagerImpl.java:239)

        at
org.apache.ode.store.jpa.DbConfStoreConnectionFactory.commitTransaction(
DbConfStoreConnectionFactory.java:84)

        ... 6 more

ERROR - OdeSUManager                   - Error deploying service unit
"HelloWorld2-process".

INFO  - ServiceAssemblyLifeCycle       - Starting service assembly:
HelloWorld2-SA

INFO  - ServiceUnitLifeCycle           - Initializing service unit:
HelloWorld2-HTTP

INFO  - jetty                          - jetty-6.1.14

INFO  - jetty                          - Started
SelectChannelConnector@localhost:8080

INFO  - ServiceUnitLifeCycle           - Initializing service unit:
HelloWorld2-process

INFO  - ServiceUnitLifeCycle           - Starting service unit:
HelloWorld2-HTTP

INFO  - ServiceUnitLifeCycle           - Starting service unit:
HelloWorld2-process

INFO  - Runtime                        - Starting OpenJPA 1.3.0-SNAPSHOT

INFO  - JDBC                           - Using dictionary class
"org.apache.openjpa.jdbc.sql.OracleDictionary" (Oracle Oracle Database
10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options ,Oracle JDBC driver
10.2.0.1.0).

WARN  - Transaction                    - Unexpected exception from
beforeCompletion; transaction will roll back

<openjpa-1.3.0-SNAPSHOT-r422266:724491 nonfatal user error>
org.apache.openjpa.persistence.InvalidStateException: Attempt to commit
a null javax.transaction.Transaction.  Some application servers set

the transaction to null if a rollback occurs.

        at
org.apache.openjpa.kernel.BrokerImpl.setRollbackOnlyInternal(BrokerImpl.
java:1491)

        at
org.apache.openjpa.kernel.BrokerImpl.setRollbackOnly(BrokerImpl.java:147
7)

        at
org.apache.openjpa.kernel.DelegatingBroker.setRollbackOnly(DelegatingBro
ker.java:925)

        at
org.apache.openjpa.persistence.EntityManagerImpl.setRollbackOnly(EntityM
anagerImpl.java:560)

        at
org.apache.openjpa.persistence.PersistenceExceptions$2.translate(Persist
enceExceptions.java:71)

        at
org.apache.openjpa.kernel.BrokerImpl.translateManagedCompletionException
(BrokerImpl.java:1897)

        at
org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:18
31)

        at
org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion
(TransactionImpl.java:514)

        at
org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion
(TransactionImpl.java:498)

        at
org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(Tr
ansactionImpl.java:400)

        at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(Transacti
onImpl.java:257)

        at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(Tr
ansactionManagerImpl.java:239)

        at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleSc
heduler.java:226)

        at
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.doHydrate(BpelProc
ess.java:909)

        at
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.access$100(BpelPro
cess.java:777)

        at
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch$2.run(BpelProcess.
java:787)

        at
org.apache.ode.bpel.engine.NStateLatch.latch(NStateLatch.java:89)

        at
org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:688)

        at
org.apache.ode.bpel.engine.BpelServerImpl.register(BpelServerImpl.java:3
15)

        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(ServiceUn
itLifeCycle.java:103)

        at
org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(Servi
ceAssemblyLifeCycle.java:154)

        at
org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentSe
rvice.java:390)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceA
ssembly(AutoDeploymentService.java:351)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
AutoDeploymentService.java:255)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirecto
ry(AutoDeploymentService.java:658)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(Aut
oDeploymentService.java:63)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDepl
oymentService.java:622)

        at java.util.TimerThread.mainLoop(Timer.java:512)

        at java.util.TimerThread.run(Timer.java:462)

ERROR - NStateLatch                    - Latch error, was releasing for
state 1 but actually in -1

ERROR - OdeServiceUnit                 - Unable to load
{urn:/HeaderTest.bpel}HelloWorld2-1

java.lang.RuntimeException: javax.transaction.RollbackException: Unable
to commit: transaction marked for rollback

        at
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.doHydrate(BpelProc
ess.java:918)

        at
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.access$100(BpelPro
cess.java:777)

        at
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch$2.run(BpelProcess.
java:787)

        at
org.apache.ode.bpel.engine.NStateLatch.latch(NStateLatch.java:89)

        at
org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:688)

        at
org.apache.ode.bpel.engine.BpelServerImpl.register(BpelServerImpl.java:3
15)

        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(ServiceUn
itLifeCycle.java:103)

        at
org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(Servi
ceAssemblyLifeCycle.java:154)

        at
org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentSe
rvice.java:390)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceA
ssembly(AutoDeploymentService.java:351)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
AutoDeploymentService.java:255)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirecto
ry(AutoDeploymentService.java:658)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(Aut
oDeploymentService.java:63)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDepl
oymentService.java:622)

        at java.util.TimerThread.mainLoop(Timer.java:512)

        at java.util.TimerThread.run(Timer.java:462)

Caused by: javax.transaction.RollbackException: Unable to commit:
transaction marked for rollback

        at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(Transacti
onImpl.java:271)

        at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(Tr
ansactionManagerImpl.java:239)

        at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleSc
heduler.java:226)

        at
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.doHydrate(BpelProc
ess.java:909)

        ... 17 more

ERROR - OdeSUManager                   - Error starting service unit
"HelloWorld2-process".

java.lang.RuntimeException: javax.transaction.RollbackException: Unable
to commit: transaction marked for rollback

        at
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.doHydrate(BpelProc
ess.java:918)

        at
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.access$100(BpelPro
cess.java:777)

        at
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch$2.run(BpelProcess.
java:787)

        at
org.apache.ode.bpel.engine.NStateLatch.latch(NStateLatch.java:89)

        at
org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:688)

        at
org.apache.ode.bpel.engine.BpelServerImpl.register(BpelServerImpl.java:3
15)

        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(ServiceUn
itLifeCycle.java:103)

        at
org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(Servi
ceAssemblyLifeCycle.java:154)

        at
org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentSe
rvice.java:390)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceA
ssembly(AutoDeploymentService.java:351)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
AutoDeploymentService.java:255)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirecto
ry(AutoDeploymentService.java:658)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(Aut
oDeploymentService.java:63)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDepl
oymentService.java:622)

        at java.util.TimerThread.mainLoop(Timer.java:512)

        at java.util.TimerThread.run(Timer.java:462)

Caused by: javax.transaction.RollbackException: Unable to commit:
transaction marked for rollback

        at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(Transacti
onImpl.java:271)

        at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(Tr
ansactionManagerImpl.java:239)

        at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleSc
heduler.java:226)

        at
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.doHydrate(BpelProc
ess.java:909)

        ... 17 more

[Fatal Error] :1:1: Content is not allowed in prolog.

WARN  - ServiceAssemblyLifeCycle       - Could not parse result
exception

org.xml.sax.SAXParseException: Content is not allowed in prolog.

        at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)

        at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown
Source)

        at
org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.parse(Servi
ceAssemblyLifeCycle.java:457)

        at
org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.getComponen
tFailure(ServiceAssemblyLifeCycle.java:438)

        at
org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(Servi
ceAssemblyLifeCycle.java:156)

        at
org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentSe
rvice.java:390)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceA
ssembly(AutoDeploymentService.java:351)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(
AutoDeploymentService.java:255)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirecto
ry(AutoDeploymentService.java:658)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(Aut
oDeploymentService.java:63)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDepl
oymentService.java:622)

        at java.util.TimerThread.mainLoop(Timer.java:512)

        at java.util.TimerThread.run(Timer.java:462)

INFO  - DeploymentService              - Error in start

java.lang.Exception: <?xml version="1.0" encoding="UTF-8"?>

<jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message"
version="1.0">

<jbi-task-result>

<frmwk-task-result>

<frmwk-task-result-details>

<task-result-details>

<task-id>start</task-id>

<task-result>FAILED</task-result>

<message-type>ERROR</message-type>

</task-result-details>

</frmwk-task-result-details>

</frmwk-task-result>

<component-task-result>

<component-name>OdeBpelEngine</component-name>

<component-task-result-details>

<task-result-details>

<task-id>start</task-id>

<task-result>FAILED</task-result>

<message-type>ERROR</message-type>

<task-status-msg>

<msg-loc-info>

<loc-token/>

<loc-message>Unable to parse result string</loc-messag>....

 

If I configure HelloWorld as an in memory process all goes correctly.

 

Nothing change if:

I put 

<jencks:poolingSupport 

            id="poolingSupport"
partitionStrategy="by-connector-properties" />

inside tx.xml

 

Nothing change if I user jdk 5 or jdk 6.

 

Can someone help me?

Thank you

Best regards

 

Massimiliano.

 

 

Massimiliano Andriotto