[jboss-user] [jBPM Users] - Re: workflow design about wait states

mmusaji do-not-reply at jboss.com
Fri Sep 11 06:31:32 EDT 2009


Previous one did not have wait state. I was referring to it once I'd added but here it is.


  | <?xml version="1.0" encoding="UTF-8"?>
  | 
  | <process name="process" xmlns="http://jbpm.org/4.0/jpdl">
  |    <start>
  |       <transition to="parse request"/>
  |    </start>
  |    
  |    <custom class="org.application.workflow.ParseRequest" name="parse request" two="#{myObj}">
  |      <transition to="evaluate parse result"/>
  |    </custom>
  |    
  |    <decision name="evaluate parse result" expr="#{content}" >
  |      <transition name="valid" to="find providers"  />
  |      <transition name="invalid" to="error"/>
  |    </decision>
  |    
  |    <custom two="#{myObj}" class="org.application.workflow.FindProviders" name="find providers">
  |      <transition to="fork"/>
  |    </custom>
  |      
  |    <fork name="fork">
  |       <transition name="validate one" to="validate one request"/>
  |       <transition name="validate two" to="validate two request"/>
  |       <transition name="validate three" to="validate three request"/> 
  |    </fork>
  |    
  |    <!-- EACH OF THESE CUSTOM NODES WILL TAKE AN UNKNOWN AMOUNT OF TIME -->
  |    <custom continue="async" name="validate one request" class="org.application.workflow.ValidateoneFraudRequest" two="#{oneDetails}">
  |      <transition to="join"/>
  |    </custom>
  |    
  |    <custom continue="async" name="validate two request" class="org.application.workflow.ValidateExpFraudRequest" two="#{twoDetails}">         
  |     <transition to="join"/>
  |    </custom>
  |    
  |    <custom continue="async" name="validate three request" class="org.application.workflow.ValidateSysFraudRequest" two="#{threeDetails}">         
  |     <transition to="join"/>
  |    </custom>
  |    
  |    <join name="join" continue="exclusive">
  |       <transition name="wait" to="wait"/>
  |    </join>
  | 
  |   <state name="wait">
  |     <transition to="evaluate validation results"/>
  |    </state>
  |    
  |    <decision name="evaluate validation results" expr="#{content}" >
  |      <transition name="valid" to="construct message"  />
  |      <transition name="invalid" to="error"/>
  |    </decision>
  |    
  |    <custom name="construct message" class="org.application.workflow.ConstructRequest" two="#{myObj}">         
  |     <transition to="send"/>
  |    </custom>
  |    
  |    <custom name="send" class="org.application.workflow.SendRequest" two="#{myObj}">         
  |     <transition to="get responses"/>
  |    </custom>
  |    
  |    <custom name="get responses" class="org.application.workflow.GetResponse" two="#{myObj}">         
  |     <transition to="process responses"/>
  |    </custom>
  |    
  |    <custom name="process responses" class="org.application.workflow.ProcessResponse" two="#{myObj}">         
  |      <transition to="getMyObject"/>
  |    </custom>
  |       
  |    <custom name="getMyObject" class="org.application.workflow.GetMyObject" two="#{myObj}">         
  |     <transition to="end"/>
  |    </custom>
  |    
  |    <task name="end">
  |       <transition name="to complete" to="end process"/>
  |    </task>
  |    
  |    <end name="end process" state="complete"/>
  |    <end-error name="error"/>
  | 
  |    </process>
  | 

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4254704#4254704

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



More information about the jboss-user mailing list