[jbpm-issues] [JBoss JIRA] Commented: (JBPM-2749) Problem with fork/join using swimlane

Ronald van Kuijk (JIRA) jira-events at lists.jboss.org
Mon Jan 18 19:02:52 EST 2010


    [ https://jira.jboss.org/jira/browse/JBPM-2749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12506754#action_12506754 ] 

Ronald van Kuijk commented on JBPM-2749:
----------------------------------------

I have some more info....  the first thing is that there is a kind of workaround where you do not need to make changes to the jBPM source. Make the join async by adding the continue attribute to it with the value 'async'. 

Now the real cause is that the task is not fully ended when the process reaches the end state. This should not be a problem since all child executions should be ended first. Strange thing is that the query for the active process instance, or any other query triggers a hibernate flush so all kinds of updates/deletes are done. In one of these, the swimlane is to be deleted, but since the not deleted task still references it, a constraint violation is thrown.

What solves this is explicitly setting the swimlane to 'null' in the execute method of the TaskActivity. Not sure what impact this has on the rest, but at least all tests are still green.

> Problem with fork/join using swimlane
> -------------------------------------
>
>                 Key: JBPM-2749
>                 URL: https://jira.jboss.org/jira/browse/JBPM-2749
>             Project: jBPM
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Runtime Engine
>    Affects Versions: jBPM 4.3, jBPM 4.2
>         Environment: Windows XP DataBase ORACLE 10G
>            Reporter: Andrey Timofeev
>         Attachments: JoinSwimlane.java, JoinSwimlane2749.java, log.txt, testError.jpdl.xml
>
>
> INFO: exception while executing command org.jbpm.pvm.internal.cmd.CompositeCmd at 1175881
> org.hibernate.exception.ConstraintViolationException: could not delete: [org.jbpm.pvm.internal.task.SwimlaneImpl#280142]
> <?xml version="1.0" encoding="UTF-8"?>
> <process name="test" xmlns="http://jbpm.org/4.0/jpdl">
>    
>    <swimlane candidate-groups="A" name="A"/>
>    <swimlane candidate-groups="B" name="B"/>
>             
>    <start name="start">
>       <transition to="task1A"/>
>    </start>
>    <task name="task1A" swimlane="A">
>       <transition to="task1B"/>
>    </task>
>    <task name="task1B" swimlane="B">
>       <transition to="fork"/>
>    </task>
>    <fork name="fork">
>       <transition to="task2A"/>
>       <transition to="task2B"/>
>    </fork>
>    <task name="task2A" swimlane="A">
>       <transition to="join"/>
>    </task>
>    <task name="task2B" swimlane="B">
>       <transition to="join"/>
>    </task>
>    <join name="join">
>       <transition to="end"/>
>    </join>
>    <end name="end"/>
> </process>

-- 
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 jbpm-issues mailing list