[jboss-user] [JBoss jBPM] - Re: process-end behavior

greenHand do-not-reply at jboss.com
Tue Sep 9 14:28:36 EDT 2008


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#4175390

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4175390



More information about the jboss-user mailing list