[esb-issues] [JBoss JIRA] Updated: (JBESB-3151) JbpmContext.setRollbackOnly() in Job execution leads to "JbpmException: cannot mark externally managed transaction for rollback" with JCA inflow message service

Toshiya Kobayashi (JIRA) jira-events at lists.jboss.org
Tue Jan 26 04:36:19 EST 2010


     [ https://jira.jboss.org/jira/browse/JBESB-3151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Toshiya Kobayashi updated JBESB-3151:
-------------------------------------

    Affects Version/s: 4.7


added 4.7 as affects version

> JbpmContext.setRollbackOnly() in Job execution leads to "JbpmException: cannot mark externally managed transaction for rollback" with JCA inflow message service
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JBESB-3151
>                 URL: https://jira.jboss.org/jira/browse/JBESB-3151
>             Project: JBoss ESB
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Process flow
>    Affects Versions: 4.4 CP3, 4.7
>            Reporter: Toshiya Kobayashi
>         Attachments: jobexecution-rollback.zip
>
>
> In case that Job execution of an async node is processed by ESB's JCA inflow message service, if you call jbpmContext.setRollbackOnly() in the action handler, the Exception below will be thrown:
> 19:11:51,045 ERROR [JmsServerSession] Unexpected error delivering message delegator->JBossMessage[5177979334393866]:PERSISTENT, deliveryId=1
> org.jbpm.JbpmException: cannot mark externally managed transaction for rollback
> at org.jbpm.persistence.db.DbPersistenceService.endTransaction(DbPersistenceService.java:129)
> at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:201)
> at org.jbpm.svc.Services.close(Services.java:247)
> at org.jbpm.JbpmContext.close(JbpmContext.java:131)
> at org.jboss.soa.esb.services.jbpm.integration.command.AbstractMessageListener.onMessage(AbstractMessageListener.java:80)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.internal.soa.esb.dependencies.JCAInflowAdapter$1.invoke(JCAInflowAdapter.java:276)
> at org.jboss.soa.esb.listeners.jca.EndpointProxy.delivery(EndpointProxy.java:242)
> at org.jboss.soa.esb.listeners.jca.EndpointProxy.invoke(EndpointProxy.java:145)
> at $Proxy92.onMessage(Unknown Source)
> at org.jboss.resource.adapter.jms.inflow.JmsServerSession.onMessage(JmsServerSession.java:178)
> at org.jboss.jms.client.container.ClientConsumer.callOnMessageStatic(ClientConsumer.java:160)
> at org.jboss.jms.client.container.SessionAspect.handleRun(SessionAspect.java:831)
> at org.jboss.aop.advice.org.jboss.jms.client.container.SessionAspect16.invoke(SessionAspect16.java)
> at org.jboss.jms.client.delegate.ClientSessionDelegate$run_N8003352271541955702.invokeNext(ClientSessionDelegate$run_N8003352271541955702.java)
> at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
> at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
> at org.jboss.jms.client.delegate.ClientSessionDelegate$run_N8003352271541955702.invokeNext(ClientSessionDelegate$run_N8003352271541955702.java)
> at org.jboss.jms.client.delegate.ClientSessionDelegate.run(ClientSessionDelegate.java)
> at org.jboss.jms.client.JBossSession.run(JBossSession.java:199)
> at org.jboss.resource.adapter.jms.inflow.JmsServerSession.run(JmsServerSession.java:237)
> at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:213)
> at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
> at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:756)
> at java.lang.Thread.run(Thread.java:619)
> Actually, this causes rollback. But this looks messy on the console (stacktrace etc) so it's better to explicitly handle the rollback rather than forcing it as a side effect of invoking the jBPM context close().

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the esb-issues mailing list