- 
        1. Re: Join Problemkukeltje May 11, 2009 11:41 AM (in response to swatis)show your processdefinition and even better, a full unittest with embedded processdefinition (as a string), actionhandlers as inner classes etc.... 
- 
        2. Re: Join Problemswatis May 11, 2009 11:57 PM (in response to swatis)<fork name="fork1"> <transition name="" to="Scoring"></transition> <transition name="tr2" to="RealEstateProcInvoke"></transition> </fork> <node name="Scoring"> <action class="com.sample.action.handler.CalculatorActionHandler"> <method>getScore</method> <wsdlURL>http://localhost:9090/CalculatorApp/CalculatorWebServiceService?wsdl</wsdlURL> </action> <transition name="" to="join1"></transition> </node> <process-state name="WebSaleProcInvoke"> <sub-process name="websale" version="1"></sub-process> <variable name="cname" access="read,write" /> <transition name="" to="join1"></transition> </process-state> <join name="join1"> <transition name="" to="File Adapter"></transition> </join> <node name="FileAdapter"> <action class="com.sample.action.handler.FileActionHandler"></action> <transition name="" to="Decision 3"></transition> </node> 
- 
        3. Re: Join Problemjbarrez May 12, 2009 2:46 AM (in response to swatis)Is this the complete process def? 
 There is no node called 'RealEstateProcInvoke', which is one of the parallel activities.
 Nonetheless, my guess is that you probably forgot to add execution.leaveNode() at the end of your custom actionHandler.
- 
        4. Re: Join Problemswatis May 12, 2009 2:55 AM (in response to swatis)you are right its not complete code... i just put only part of code... in actionhandler i used executionContext.getProcessInstance().signal(); statement at the end. My question is if these two parallel activities gets completed why join node is still waiting to send signal to the next activity.
- 
        5. Re: Join Problemjbarrez May 12, 2009 3:16 AM (in response to swatis)Are you sure the actions are completely finished. Check your database to see in which node your token is. 
 Also, executionContext.getProcessInstance().signal(); is going to give you strange behaviour since now you are signalling the root token. Try to use executionContext.leaveNode().
- 
        6. Re: Join Problemswatis May 12, 2009 3:23 AM (in response to swatis)ok i iwll try to use executionContext.leaveNode() instead of signal method... will update u in few mins... 
- 
        7. Re: Join Problemswatis May 12, 2009 3:41 AM (in response to swatis)you are right about the signal method. I tried another small process with action handlers.In action hanlder classes i used once leaveNode method it worked perfectly. But when I changes leaveNode method to signal method got the same problem. thanks .. able to fix this one... 
- 
        8. Re: Join Problemfreak182 May 21, 2009 4:36 AM (in response to swatis)Hi, 
 I have same problem. here is my process definition:<?xml version="1.0" encoding="UTF-8"?> <process-definition xmlns="" name="forktest"> <description> a test for fork/join workflow </description> <start-state name="Start"> <transition to="fork"></transition> </start-state> <fork name="fork"> <transition to="approver A" name="to approver A"></transition> <transition to="approver B" name="to approver B"></transition> </fork> <task-node name="approver A"> <task name="FORKAPPRVA"> <description> Please approve A </description> <assignment class="com.ccti.los.WfAssignment"> <pooledactors> CORBANK </pooledactors> </assignment> <controller class=""></controller> </task> <transition to="join"></transition> </task-node> <task-node name="approver B"> <task name="FORKAPPRVB"> <description> Please approve B </description> <assignment class="com.ccti.los.WfAssignment"> <pooledactors> APPROVERS </pooledactors> </assignment> </task> <transition to="join"></transition> </task-node> <join name="join"> <transition to="Review Document"></transition> </join> <task-node name="Review Document"> <task name="FORKREVDOC"> <description> Document for review </description> <assignment class="com.ccti.los.WfAssignment"> <pooledactors> REVIEWER </pooledactors> </assignment> </task> <transition to="End"></transition> </task-node> <end-state name="End"></end-state> </process-definition> 
 ...the two task had already completed/signaled but got stuck on join.
 any idea?
 Thanks a lot.
 Cheers.
- 
        9. Re: Join Problemswatis May 21, 2009 5:15 AM (in response to swatis)in your processdefinition xml "controller class attribute is blank" how come you were able to complete the two parallel task? after removing controoler class tag from xml the process instance ended sucussfully. 
- 
        10. Re: Join Problemfreak182 May 21, 2009 5:27 AM (in response to swatis)Ok. i do not put a controller class because i use WfEngine for that. Here is some wfengine works: final String taskInstanceId = BPMEngineRegistry.getLocalId(wfTask.id); ............ wfEngine.signal(wfTask.path.id, null); wfEngine.endTask(taskInstanceId, null); 
 that line of code works (signalling to another task) for process that not in fork/join context. Should I add a taskcontrollerhandler to be able to work?
 Thanks a lot.
 Cheers.
 
     
     
    