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