[seam-issues] [JBoss JIRA] Commented: (JBSEAM-4512) BPM task does not rollback

Marek Novotny (JIRA) jira-events at lists.jboss.org
Thu Feb 17 10:46:13 EST 2011


    [ https://issues.jboss.org/browse/JBSEAM-4512?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12583037#comment-12583037 ] 

Marek Novotny commented on JBSEAM-4512:
---------------------------------------

The issue is more like integration design issue between JBPM and SEAM. Seam obviously handles transaction rollback correctly, but when Seam does roll back JBPM won't know about it, because Seam is transactional and after he rolled back the affected transaction, it then starts new one for ending Seam request lifecycle and cleaning up. Closing of JBPM context is there and dirty operations are committed.

So there is a need to close JBPM context while Seam is doing rollback and a transaction is marked as Rolling back. I have no workaround so far, only fix.

> BPM task does not rollback
> --------------------------
>
>                 Key: JBSEAM-4512
>                 URL: https://issues.jboss.org/browse/JBSEAM-4512
>             Project: Seam
>          Issue Type: Bug
>          Components: BPM
>    Affects Versions: 2.2.0.CR1, 2.2.0.GA, 2.2.1.CR2
>         Environment: Testing this on Windows XP.  Deploying to JBoss AS 4.2.2
>            Reporter: Jason E
>            Assignee: Marek Novotny
>             Fix For: 2.3.0.ALPHA
>
>
> I have made a simple change to the ShipAction.java class in the dvdstore example that ships with Seam. Here is the change
> //@EndTask
> public String ship() {
>     order.ship(track);
>     TaskInstance ti = ManagedJbpmContext.instance().getTaskInstance(taskInstance.getId());
>     taskInstance.end();
>     if(true) throw new RuntimeException("TESTING");
>     return "admin";
> }
> I commented out the end task annotation and I am ending the task via the TaskInstance API. When I throw the Runtime exception the changes to the ORDERS entity bean (i.e. updating the tracking number) rolls back. The problem is that the task instance change (i.e. ending the task) does not rollback. It appears that jBPM is flushing its changes in another db transaction.  This seems like a bug since I would expect the ending of my task to also rollback.  This seems like the desired behavior.
> This was the only change I made to the dvdstore example that ships with Seam 2.2.0.GA so it should be easy to reproduce.
> Thanks!
> Jason

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


More information about the seam-issues mailing list