提交 d0a5b961 编写于 作者: J jbarrez

Added example with timer to explorer processes

上级 6402b3b0
......@@ -347,6 +347,7 @@ JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787
<include name="org/activiti/examples/taskforms/request.form"/>
<include name="org/activiti/examples/taskforms/approve.form"/>
<include name="org/activiti/examples/taskforms/adjustRequest.form"/>
<include name="org/activiti/examples/bpmn/event/timer/BoundaryTimerEventTest.testInterruptingTimerDuration.bpmn20.xml" />
</fileset>
</zip>
<taskdef name="deploy-bar" classname="org.activiti.engine.impl.ant.DeployBarTask">
......
......@@ -12,10 +12,8 @@
*/
package org.activiti.examples.bpmn.event.timer;
import java.util.Date;
import org.activiti.engine.impl.test.ActivitiInternalTestCase;
import org.activiti.engine.impl.util.ClockUtil;
import org.activiti.engine.runtime.Job;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.activiti.engine.test.Deployment;
......@@ -28,18 +26,16 @@ public class BoundaryTimerEventTest extends ActivitiInternalTestCase {
@Deployment
public void testInterruptingTimerDuration() {
Date startTime = new Date();
// Start process instance
ProcessInstance pi = runtimeService.startProcessInstanceByKey("interruptingBoundaryTimer");
ProcessInstance pi = runtimeService.startProcessInstanceByKey("escalationExample");
// There should be one task, with a timer : first line support
Task task = taskService.createTaskQuery().processInstanceId(pi.getId()).singleResult();
assertEquals("First line support", task.getName());
// Set clock to the future such that the timer can fire
ClockUtil.setCurrentTime(new Date(startTime.getTime() + (5 * 60 * 60 * 1000)));
waitForJobExecutorToProcessAllJobs(10000L, 250L);
// Manually execute the job
Job timer = managementService.createJobQuery().singleResult();
managementService.executeJob(timer.getId());
// The timer has fired, and the second task (secondlinesupport) now exists
task = taskService.createTaskQuery().processInstanceId(pi.getId()).singleResult();
......
......@@ -5,13 +5,15 @@
xmlns:activiti="http://activiti.org/bpmn-extensions"
targetNamespace="http://www.activiti.org/bpmn2.0">
<process id="interruptingBoundaryTimer">
<process id="escalationExample" name="Timer escalation example">
<startEvent id="theStart" />
<sequenceFlow id="flow1" sourceRef="theStart" targetRef="firstLineSupport" />
<userTask id="firstLineSupport" name="First line support" />
<userTask id="firstLineSupport" name="First line support" activiti:assignee="kermit">
<documentation>Fix issue raised by customer</documentation>
</userTask>
<sequenceFlow id="flow2" sourceRef="firstLineSupport" targetRef="normalEnd" />
......@@ -19,13 +21,15 @@
<boundaryEvent id="escalationTimer" cancelActivity="true" attachedToRef="firstLineSupport">
<timerEventDefinition>
<timeDuration>PT4H</timeDuration>
<timeDuration>PT5M</timeDuration>
</timerEventDefinition>
</boundaryEvent>
<sequenceFlow id="flow3" sourceRef="escalationTimer" targetRef="secondLineSupport" />
<userTask id="secondLineSupport" name="Second line support" />
<userTask id="secondLineSupport" name="Second line support" activiti:candidateGroups="management">
<documentation>Escalation: issue was not fixed in time by first level support</documentation>
</userTask>
<sequenceFlow id="flow4" sourceRef="secondLineSupport" targetRef="escalatedEnd" />
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册