09-06-2019 04:22 AM
Hi,even though I have read this Boundary Timer fires every 10 seconds rather than at expected cycle
But ,When The Boundary Timer Event is used in a sub-process,It does't work correctly.And It's just fired every 10 seconds rather than at expected cycle.
##
Below is the XML for the sample workflow.
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlnsmgdc="http://www.omg.org/spec/DD/20100524/DC" xmlnsmgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
<process id="myProcess" name="My process" isExecutable="true">
<startEvent id="mainStartevent" name="Main Start"></startEvent>
<userTask id="usertask1" name="Main User Task"></userTask>
<subProcess id="subprocess1" name="Sub Process">
<userTask id="usertask2" name="Sub User Task"></userTask>
<startEvent id="substartevent" name="Sub Start"></startEvent>
<endEvent id="subendevent" name="Sub End"></endEvent>
<boundaryEvent id="boundarytimer1" name="Timer" attachedToRef="usertask2" cancelActivity="false">
<timerEventDefinition>
<timeCycle>R4/PT50S</timeCycle>
</timerEventDefinition>
</boundaryEvent>
<serviceTask id="servicetask2" name="Sub Service Task" activiti:delegateExpression="${taskWarningService}"></serviceTask>
<sequenceFlow id="flow3" sourceRef="substartevent" targetRef="usertask2"></sequenceFlow>
<sequenceFlow id="flow4" sourceRef="usertask2" targetRef="subendevent"></sequenceFlow>
<sequenceFlow id="flow6" sourceRef="boundarytimer1" targetRef="servicetask2"></sequenceFlow>
</subProcess>
<endEvent id="mainEndevent" name="Main End"></endEvent>
<boundaryEvent id="boundarytimer2" name="Timer" attachedToRef="usertask1" cancelActivity="false">
<timerEventDefinition>
<timeCycle>R5/PT60S</timeCycle>
</timerEventDefinition>
</boundaryEvent>
<serviceTask id="servicetask1" name="Sub Service Task" activiti:delegateExpression="${taskWarningService}"></serviceTask>
<sequenceFlow id="flow1" sourceRef="mainStartevent" targetRef="usertask1"></sequenceFlow>
<sequenceFlow id="flow2" sourceRef="usertask1" targetRef="subprocess1"></sequenceFlow>
<sequenceFlow id="flow5" sourceRef="subprocess1" targetRef="mainEndevent"></sequenceFlow>
<sequenceFlow id="flow7" sourceRef="boundarytimer2" targetRef="servicetask1"></sequenceFlow>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_myProcess">
<bpmndi:BPMNPlane bpmnElement="myProcess" id="BPMNPlane_myProcess">
<bpmndi:BPMNShape bpmnElement="mainStartevent" id="BPMNShape_mainStartevent">
<omgdc:Bounds height="35.0" width="35.0" x="200.0" y="310.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
<omgdc:Bounds height="55.0" width="105.0" x="340.0" y="300.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="boundarytimer2" id="BPMNShape_boundarytimer2">
<omgdc:Bounds height="30.0" width="30.0" x="380.0" y="298.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="subprocess1" id="BPMNShape_subprocess1">
<omgdc:Bounds height="250.0" width="391.0" x="538.0" y="202.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="usertask2" id="BPMNShape_usertask2">
<omgdc:Bounds height="55.0" width="105.0" x="680.0" y="302.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="boundarytimer1" id="BPMNShape_boundarytimer1">
<omgdc:Bounds height="30.0" width="30.0" x="720.0" y="300.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="substartevent" id="BPMNShape_substartevent">
<omgdc:Bounds height="35.0" width="35.0" x="580.0" y="312.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="subendevent" id="BPMNShape_subendevent">
<omgdc:Bounds height="35.0" width="35.0" x="850.0" y="312.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="servicetask2" id="BPMNShape_servicetask2">
<omgdc:Bounds height="55.0" width="105.0" x="680.0" y="230.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="mainEndevent" id="BPMNShape_mainEndevent">
<omgdc:Bounds height="35.0" width="35.0" x="1050.0" y="310.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="servicetask1" id="BPMNShape_servicetask1">
<omgdc:Bounds height="55.0" width="105.0" x="340.0" y="200.0"></omgdc:Bounds>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="flow3" id="BPMNEdge_flow3">
<omgdi:waypoint x="615.0" y="329.0"></omgdi:waypoint>
<omgdi:waypoint x="680.0" y="329.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow4" id="BPMNEdge_flow4">
<omgdi:waypoint x="785.0" y="329.0"></omgdi:waypoint>
<omgdi:waypoint x="850.0" y="329.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow6" id="BPMNEdge_flow6">
<omgdi:waypoint x="735.0" y="300.0"></omgdi:waypoint>
<omgdi:waypoint x="732.0" y="285.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
<omgdi:waypoint x="235.0" y="327.0"></omgdi:waypoint>
<omgdi:waypoint x="340.0" y="327.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
<omgdi:waypoint x="445.0" y="327.0"></omgdi:waypoint>
<omgdi:waypoint x="538.0" y="327.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow5" id="BPMNEdge_flow5">
<omgdi:waypoint x="929.0" y="327.0"></omgdi:waypoint>
<omgdi:waypoint x="1050.0" y="327.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow7" id="BPMNEdge_flow7">
<omgdi:waypoint x="395.0" y="298.0"></omgdi:waypoint>
<omgdi:waypoint x="392.0" y="255.0"></omgdi:waypoint>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
Explore our Alfresco products with the links below. Use labels to filter content by product module.