Firstly, the process instance was associated with the old definition so it was correct
that the email was sent. My bad.
Now I have a new process instance associated with the new definition (below). Now even
both node A and B complete successfully, the email was never sent. The reason is the event
at node A SEND_APPROVE_EMAIL_TO_REQUESTOR) was never fired.
Is it legal to have event type="process-end" at a node which is not an END
node?
| <?xml version="1.0" encoding="UTF-8"?>
|
| <process-definition xmlns="urn:jbpm.org:jpdl-3.2"
name="MY_PROCESS_DEF">
|
|
| <start-state name="START">
| <transition to="APPROVAL" name="to
APPROVAL"></transition>
| </start-state>
|
|
| <task-node name="APPROVAL">
| <task name="mypackage.ApproverAssignmentHandler">
| <assignment
class="mypackage.ApproverAssignmentHandler"></assignment>
| </task>
| <transition to="fork for approve path"
name="approve"></transition>
| <transition to="fork for reject path"
name="reject"></transition>
| <transition to="fork for cancel path"
name="cancel"></transition>
| </task-node>
|
| <node name="SEND_APPROVE_EMAIL_TO_REQUESTOR">
| <event type="process-end">
| <action name="mypackage.ApprovedEmailActionHandler"
class="mypackage.ApprovedEmailActionHandler"></action>
| </event>
| <transition to="join for approve path" name="from
SEND_APPROVE_EMAIL_TO_REQUESTOR"></transition>
| </node>
|
| <node name="EXECUTE_REQUESTED_PROGRAM">
| <action class="mypackage.ExeRequestProgramActionHandler"
name="mypackage.ExeRequestProgramActionHandler"
accept-propagated-events="false"></action>
| <transition to="join for approve path" name="from
EXECUTE_REQUESTED_PROGRAM "></transition>
| </node>
|
| <node name="SEND_REJECT_EMAIL_TO_REQUESTOR">
| <event type="process-end">
| <action name="mypackage.RejectedEmailActionHandler"
class="mypackage.RejectedEmailActionHandler"></action>
| </event>
| <transition to="join for reject path" name="from
SEND_REJECT_EMAIL_TO_REQUESTOR"></transition>
| </node>
|
| <node name="DELETE_REQUEST_DATA">
| <action class="mypackage.DeleteRequestDataActionHandler"
name="mypackage.DeleteRequestDataActionHandler"
accept-propagated-events="false"></action>
| <transition to="join for reject path" name="from
DELETE_REQUEST_DATA"></transition>
| </node>
|
| <fork name="fork for approve path">
| <transition to="SEND_APPROVE_EMAIL_TO_REQUESTOR" name="to
SEND_APPROVE_EMAIL_TO_REQUESTOR"></transition>
| <transition to="EXECUTE_REQUESTED_PROGRAM" name="to
EXECUTE_REQUESTED_PROGRAM "></transition>
| </fork>
|
| <fork name="fork for reject path">
| <transition to="SEND_REJECT_EMAIL_TO_REQUESTOR" name="to
SEND_REJECT_EMAIL_TO_REQUESTOR"></transition>
| <transition to="DELETE_REQUEST_DATA" name="to DELETE_REQUEST_DATA
"></transition>
| </fork>
|
| <join name="join for approve path">
| <transition to="END" name="from join for approve
path"></transition>
| </join>
|
| <join name="join for reject path">
| <transition to="END" name="from join for reject
path"></transition>
| </join>
|
| <fork name="fork for cancel path">
| <transition to="SEND_TIMEOUT_EMAIL_TO_REQUESTOR" name="to
SEND_TIMEOUT_EMAIL_TO_REQUESTOR"></transition>
| <transition to="DELETE_REQUEST_DATA_DUE_TO_CANCEL" name="to
DELETE_REQUEST_DATA_DUE_TO_CANCEL"></transition>
| </fork>
|
| <node name="SEND_TIMEOUT_EMAIL_TO_REQUESTOR">
| <event type="process-end">
| <action name="mypackage.TimedOutEmailActionHandler"
class="mypackage.TimedOutEmailActionHandler"></action>
| </event>
| <transition to="join for cancel path" name="from
SEND_TIMEOUT_EMAIL_TO_REQUESTOR"></transition>
| </node>
|
| <node name="DELETE_REQUEST_DATA_DUE_TO_CANCEL">
| <event type="process-end">
| <action name="mypackage.DeleteRequestDataActionHandler"
class="mypackage.DeleteRequestDataActionHandler"></action>
| </event>
| <transition to="join for cancel path" name="from
DELETE_REQUEST_DATA_DUE_TO_CANCEL"></transition>
| </node>
|
| <join name="join for cancel path">
| <transition to="END" name="from join for cancel
path"></transition>
| </join>
|
|
| <end-state name="END"></end-state>
|
|
| </process-definition>
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4175390#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...