[jboss-user] [jBPM] - Subprocess wait state signal handling not working from parent process (jBPM 4.3)
apurv agnihotri
do-not-reply at jboss.com
Wed May 26 10:38:17 EDT 2010
apurv agnihotri [http://community.jboss.org/people/apurv888] created the discussion
"Subprocess wait state signal handling not working from parent process (jBPM 4.3)"
To view the discussion, visit: http://community.jboss.org/message/544880#544880
--------------------------------------------------------------
Following is our main jPDL xml
<?xml version=+"1.0" encoding=+"UTF-8"?> ++<process name=+"PresenceWorkflow" xmlns=+"http://jbpm.org/4.3/jpdl">
<start g=+"-9,225,80,40">
<transition to=+"wait for presence of user" />
</start>
<sub-process name=+"wait for presence of user" sub-process-key=+"waitForPresence" g=+"603,195,177,70">
<parameter-in subvar=+"userDetailsInstance" var=+"user"/><parameter-in subvar=+"timeoutPeriod" var=+"timeoutPeriodMain"/>
<parameter-out subvar=+"userDetailsInstance" var=+"user"/><parameter-out subvar=+"subinstanceid" var=+"subinstanceidMain"/>
<transition name=+"timeout" to=+"state1" g=+"-47,-20"/>
<transition name=+"success" to=+"state1" g=+"369,51:-28,-24"/>
</sub-process>
<end g=+"220,486,48,48" name=+"end1"/>
<end-error g=+"140,488,80,40" name=+"internal error"/>
<state g=+"649,418,92,52" name=+"state1" state=+"naas-wait">
</state> </process>
+++
++
xml version=+"1.0"+ encoding=+"UTF-8"+?>
<
process name=+"waitForPresence"+ xmlns=+http://jbpm.org/4.3/jpdl+>
<
start g=+"8,103,80,40"+>
<transition to=+"wait for presence"+/></
start>
<
custom class=+"com.task.WaitForPresenceTask"+ g=+"121,105,100,52"+ name=+"wait for presence"+>
<transition to=+"task completion check for wait presnce"/+></
custom>
<
decision expr=+"#{TaskCompletionStatus}"+ name=+"task completion check for wait presence"+ g=+"287,117,110,92"+>
<transition name=+"Success"+ to=+"wait for presence update"+ g=+"-46,-20"+/>
<transition name=+"Failure"+ to=+"failure"+ g=+"-40,-20"+/></
decision>
<
state name=+"wait for presence update"+ g=+"482,114,210,40"+>
<on event=+"timeout"+>
<timer duedate=+"5 seconds"+/>
<event-listener class=+"com.task.WaitStateTimeoutListener"+>
</on>
<on event=+"start"+>
<event-listener class=+"com.eventlistener.WaitForPresenceStartEventListener"+>
<field name=+"subscriberVariableName"+><object expr=+"#{userDetailsInstance}"+/></field>
</event-listener>
</on>
<on event=+"end"+>
<event-listener class=+"com.eventlistener.WaitForPresenceCompletionEndEventListener"+>
<field name=+"subscriberVariableName"+><object expr=+"#{userDetailsInstance}"+/></field>
</event-listener>
</on>
<transition name=+"WAIT_STATE_TIMED_OUT"+ to=+"timeout"+ g=+"-142,-20"+/>
<transition name=+"AVAILABLE"+ to=+"test"+ g=+"-64,-9"+/>
</
state>
<
end name=+"success"+ g=+"666,410,80,40"+/>
<end name=+"failure"+ g=+"277,415,80,40"+/><
end name=+"timeout"+ g=+"445,414,48,84"+/>
</
process>
Sample test case extract:
// start the main process
final ProcessInstance processInstance = executionService.startProcessInstanceByKey("PresenceWorkflow", variables,processInstanceKey);
// send signal to subprocess to get out of "wait for presence update" state.
executionService.signalExecutionById(processInstance.getId(),"AVAILABLE");
++
++
+++++++Problem faced:+++++++
++
+++++++1) Once execution resumes after sending the above signal workflow exists the subprocess without executing any subsequent tasks. For example, the end event listener is not invoked.+++++++
++
+++++++2) Unable to get the subprocess execution id. Even if we get the execution id via a hack, we get an exception sending the signal.+++++++
++++++
+++++++Any help would be very much appreciated.+++
++
++
++Following is the subprocess jPDL
+++
+++
++
++
++
++
+++
+
+
++
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/544880#544880]
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/20100526/4701a73a/attachment-0001.html
More information about the jboss-user
mailing list