[jboss-user] [jBPM] - Database reconnect failed for JBoss/JBPM
Georg Waldschmidt
do-not-reply at jboss.com
Mon Nov 7 19:06:19 EST 2011
Georg Waldschmidt [http://community.jboss.org/people/waldsgbq] created the discussion
"Database reconnect failed for JBoss/JBPM"
To view the discussion, visit: http://community.jboss.org/message/635439#635439
--------------------------------------------------------------
We are using JBoss-5.1.0.GA, JBPM 4.4 and Oracle 11g.
When we try to test the database reconnect abilities (by disconnecting the network connection between JBoss and the Oracle server),
After reestablishing the network connection, JBPM doesn't reconnect properly. Starting a new business process instance ends in an exception:
2011-11-07 17:34:34,041 ERROR [pool-24-thread-2] (Log4jLog.java:42) failed to execute job: 10500
org.jbpm.api.JbpmException: invalid transaction state: STATUS_ROLLING_BACK
at org.jbpm.pvm.internal.tx.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:59)
at org.jbpm.pvm.internal.tx.JtaRetryInterceptor.executeWithoutRetry(JtaRetryInterceptor.java:56)
at org.jbpm.pvm.internal.tx.JtaRetryInterceptor.execute(JtaRetryInterceptor.java:48)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
at org.jbpm.pvm.internal.svc.SkipInterceptor.execute(SkipInterceptor.java:43)
at org.jbpm.pvm.internal.jobexecutor.JobParcel.run(JobParcel.java:48)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
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(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Has anyone any idea on how to ensure that JBPM's job executor proceeds processing new jobs (and ideally
jobs that got interrupted) after a database connection interrupt?
We would expect, that JBoss's managed connection pool takes care of connections affected by the interrupt.
Here the listing of datasource (jbpm-oracle-ds.xml)
<?xml version="1.0" encoding="UTF-8"?>
<!-- ===================================================================== -->
<!-- -->
<!-- JBoss Server Configuration -->
<!-- -->
<!-- ===================================================================== -->
<!-- $Id: jbpm-oracle-ds.xml 4458 2009-04-06 14:36:41Z mailto:heiko.braun at jboss.com heiko.braun at jboss.com $ -->
<!-- ===================================================================== -->
<!-- ATTENTION: DO NOT FORGET TO SET Pad=true IN transaction-service.xml -->
<!-- ===================================================================== -->
<datasources>
<xa-datasource>
<jndi-name>JbpmDS</jndi-name>
<track-connection-by-tx></track-connection-by-tx>
<check-valid-connection-sql>select count(*) from dual</check-valid-connection-sql>
<!-- uncomment to enable interleaving <interleaving/> -->
<isSameRM-override-value>false</isSameRM-override-value>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
<xa-datasource-property name="URL">jdbc:oracle:thin:@127.0.0.1:1521:JBPMDB</xa-datasource-property>
<xa-datasource-property name="User">USER</xa-datasource-property>
<xa-datasource-property name="Password">PASSWORD</xa-datasource-property>
<!-- Uses the pingDatabase method to check a connection is still valid before handing it out from the pool -->
<!--valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name-->
<!-- Checks the Oracle error codes and messages for fatal errors -->
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<!-- Oracles XA datasource cannot reuse a connection outside a transaction once enlisted in a global transaction and vice-versa -->
<no-tx-separate-pools/>
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</xa-datasource>
<mbean code="org.jboss.resource.adapter.jdbc.vendor.OracleXAExceptionFormatter"
name="jboss.jca:service=OracleXAExceptionFormatter">
<depends optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager</depends>
</mbean>
</datasources>
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/635439#635439]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20111107/49e7b203/attachment.html
More information about the jboss-user
mailing list