cancel
Showing results for 
Search instead for 
Did you mean: 

Boundary Events

javacorner
Champ in-the-making
Champ in-the-making
Hello,
I have a question about some business case .

Now , I am designing process work flow for : system will do the following steps:
1) Initialize the resources
2) call activity which try to call backed system  if success then normal end the process
3) if the back end call failed , the business error fired
4) after certain time  the system back to try again to call back end
5) after defined number of retries of this timer if still the system can not call the back end service the process is terminated

Please find the the process definition file . i can not attached the process diagram .
Is this definition meets the requirements ?
Please find attached process definition

  <startEvent id="startevent1" name="Start"></startEvent>
    <serviceTask id="InitializeService" name="Initialize" activiti:class="me.ffusion.bpm.javaDelegates.InmaDelegate">
      <documentation>Initialize logger and create working directory</documentation>
      <extensionElements>
        <activiti:executionListener event="start" class="me.ffusion.bpm.javaDelegates.InmaDelegate"></activiti:executionListener>
      </extensionElements>
    </serviceTask>
    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="InitializeService"></sequenceFlow>
    <callActivity id="callactivity1" name="Call activity"></callActivity>
    <sequenceFlow id="flow2" sourceRef="InitializeService" targetRef="callactivity1"></sequenceFlow>
    <boundaryEvent id="boundaryerror1" name="Error" attachedToRef="callactivity1">
      <errorEventDefinition></errorEventDefinition>
    </boundaryEvent>
    <serviceTask id="servicetask1" name="Service Task"></serviceTask>
    <sequenceFlow id="flow3" sourceRef="boundaryerror1" targetRef="servicetask1"></sequenceFlow>
    <boundaryEvent id="boundarytimer1" name="Timer" attachedToRef="servicetask1" cancelActivity="true">
      <timerEventDefinition></timerEventDefinition>
    </boundaryEvent>
    <sequenceFlow id="flow4" sourceRef="boundarytimer1" targetRef="callactivity1"></sequenceFlow>
    <endEvent id="errorendevent1" name="ErrorEnd">
      <errorEventDefinition></errorEventDefinition>
    </endEvent>
    <sequenceFlow id="flow5" sourceRef="servicetask1" targetRef="errorendevent1"></sequenceFlow>
    <endEvent id="endevent1" name="End"></endEvent>
    <sequenceFlow id="flow6" sourceRef="callactivity1" targetRef="endevent1"></sequenceFlow>
1 REPLY 1

martin_grofcik
Confirmed Champ
Confirmed Champ
Hi Moustafa,

the best way how to check the process definition behavior is to create jUnit test.

Regards
Martin