公司网站维护都需要怎么做,台山网站开发,网络规划设计师教程第二版 pdf,常用的网站制作文章目录 消息事件开始事件中间事件边界事件代码实现xml文件测试流程流程执行步骤 消息事件 消息事件只有一个接收者#xff0c;消息具有名字与载荷。 信息会储存在 act_ru_event_subscr 表中。
!-- 定义消息 --
message idmsgId1 namemsgName… 文章目录 消息事件开始事件中间事件边界事件代码实现xml文件测试流程流程执行步骤 消息事件 消息事件只有一个接收者消息具有名字与载荷。 信息会储存在 act_ru_event_subscr 表中。
!-- 定义消息 --
message idmsgId1 namemsgName1/
message idmsgId2 namemsgName2/
message idmsgId3 namemsgName3/
message idmsgId4 namemsgName4/开始事件 使用场景比如接收到一封邮件一条短信后启动流程 !-- 消息开始事件 --
startEvent idsid-2aac151d-e888-467a-b8e9-2f512e365228 name消息开始事件!-- 引用消息 --messageEventDefinition messageRefmsgId1/
/startEvent中间事件 使用场景需要接收特定的消息之后才能进入下一个环节 !-- 消息中间事件 --
intermediateCatchEvent idsid-b3ed607b-e3ea-4695-87af-54c71bd85820 name消息中间事件messageEventDefinition messageRefmsgId2/
/intermediateCatchEvent边界事件 使用场景当前用户任务还没有完成触发了边界事件发送消息会根据cancelActivity属性完成下一个节点。 !-- 消息边界事件1 --
boundaryEvent idsid-32b97e42-5b52-45fa-9bc3-ec8bd4461087 attachedToRefsid-c504e710-651a-4f5a-a0a1-6e2e3d3e992a cancelActivityfalse name消息边界事件1messageEventDefinition messageRefmsgId3/
/boundaryEvent代码实现 消息开始事件 - 自动任务 - 消息中间事件 - 用户任务消息边界事件非中断 - 用户任务消息边界事件中断- 结束流程 xml文件
?xml version1.0 encodingUTF-8?
definitions xmlnshttp://www.omg.org/spec/BPMN/20100524/MODEL xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:xsdhttp://www.w3.org/2001/XMLSchema xmlns:activitihttp://activiti.org/bpmn xmlns:bpmndihttp://www.omg.org/spec/BPMN/20100524/DI xmlns:omgdchttp://www.omg.org/spec/DD/20100524/DC xmlns:omgdihttp://www.omg.org/spec/DD/20100524/DI typeLanguagehttp://www.w3.org/2001/XMLSchema expressionLanguagehttp://www.w3.org/1999/XPath targetNamespacehttp://www.activiti.org/processdef!-- 定义消息 --message idmsgId1 namemsgName1/message idmsgId2 namemsgName2/message idmsgId3 namemsgName3/message idmsgId4 namemsgName4/process idmessage name消息事件 isExecutabletruedocumentation消息事件流程/documentation!-- 消息开始事件 --startEvent idsid-2aac151d-e888-467a-b8e9-2f512e365228 name消息开始事件!-- 引用消息 --messageEventDefinition messageRefmsgId1//startEvent!-- 服务任务 --serviceTask idsid-bdcd3e82-e9d3-41ee-ae69-f658ea3cf1d1 activiti:exclusivetrue name服务任务 activiti:delegateExpression${myServiceTaskListener}/sequenceFlow idsid-1bcd8e94-8f7b-4265-a3b7-b2e113bb3d09 sourceRefsid-2aac151d-e888-467a-b8e9-2f512e365228 targetRefsid-bdcd3e82-e9d3-41ee-ae69-f658ea3cf1d1/!-- 结束事件1 --endEvent idsid-9376d8dd-c6fd-4c8c-94b0-549ca543194c name结束事件1/sequenceFlow idsid-9360e3fe-a092-46f4-a6d0-b68cc66f7b57 sourceRefsid-bdcd3e82-e9d3-41ee-ae69-f658ea3cf1d1 targetRefsid-b3ed607b-e3ea-4695-87af-54c71bd85820/!-- 消息中间事件 --intermediateCatchEvent idsid-b3ed607b-e3ea-4695-87af-54c71bd85820 name消息中间事件!-- 引用消息 --messageEventDefinition messageRefmsgId2//intermediateCatchEvent!-- 用户任务1 --userTask idsid-c504e710-651a-4f5a-a0a1-6e2e3d3e992a name用户任务1extensionElementsactiviti:taskListener eventcreate delegateExpression${myUserTaskListener}//extensionElements/userTasksequenceFlow idsid-fc3da049-2f76-4188-8c33-27a7572c263e sourceRefsid-b3ed607b-e3ea-4695-87af-54c71bd85820 targetRefsid-c504e710-651a-4f5a-a0a1-6e2e3d3e992a/sequenceFlow idsid-d164986f-7551-43b3-b18e-da7b2830dc7f sourceRefsid-c504e710-651a-4f5a-a0a1-6e2e3d3e992a targetRefsid-1dbfc3d6-a8ae-4989-9dab-343a2ab573f5/!-- 消息边界事件1 --boundaryEvent idsid-32b97e42-5b52-45fa-9bc3-ec8bd4461087 attachedToRefsid-c504e710-651a-4f5a-a0a1-6e2e3d3e992a cancelActivityfalse name消息边界事件1messageEventDefinition messageRefmsgId3//boundaryEvent!-- 服务任务 通知服务 --serviceTask idsid-813f9e98-aa9a-4744-b4ff-503f31cd5af8 activiti:exclusivetrue name通知服务 activiti:delegateExpression${myServiceTaskListener}/sequenceFlow idsid-a05f2ac4-4cbb-4091-b32a-2251e3d59c34 sourceRefsid-32b97e42-5b52-45fa-9bc3-ec8bd4461087 targetRefsid-813f9e98-aa9a-4744-b4ff-503f31cd5af8/!-- 用户任务2 --userTask idsid-1dbfc3d6-a8ae-4989-9dab-343a2ab573f5 name用户任务2extensionElementsactiviti:taskListener eventcreate delegateExpression${myUserTaskListener}//extensionElements/userTask!-- 消息边界事件2 --boundaryEvent idsid-e9d7d45d-9d06-4b01-8315-e50b66c2dfbd attachedToRefsid-1dbfc3d6-a8ae-4989-9dab-343a2ab573f5 cancelActivitytrue name消息边界事件2messageEventDefinition messageRefmsgId4//boundaryEvent!-- 用户任务3 --userTask idsid-fb470629-bb4f-4c15-8031-629bf6b23474 name用户任务3extensionElementsactiviti:taskListener eventcreate delegateExpression${myUserTaskListener}//extensionElements/userTask!-- 结束事件2 --endEvent idsid-59e5b9e6-1579-464f-bebf-939a6925894b name结束事件2/sequenceFlow idsid-4796fc97-3d81-44ac-a372-1ec5107ba121 sourceRefsid-813f9e98-aa9a-4744-b4ff-503f31cd5af8 targetRefsid-9376d8dd-c6fd-4c8c-94b0-549ca543194c/sequenceFlow idsid-7b257b24-9a92-4cca-9280-50f057d3b756 sourceRefsid-1dbfc3d6-a8ae-4989-9dab-343a2ab573f5 targetRefsid-59e5b9e6-1579-464f-bebf-939a6925894b/sequenceFlow idsid-81b3aace-e1af-4f69-8a77-a1ed9a659c40 sourceRefsid-e9d7d45d-9d06-4b01-8315-e50b66c2dfbd targetRefsid-fb470629-bb4f-4c15-8031-629bf6b23474/sequenceFlow idsid-b307971c-2cdf-4af0-bebc-a2943945cc8c sourceRefsid-fb470629-bb4f-4c15-8031-629bf6b23474 targetRefsid-59e5b9e6-1579-464f-bebf-939a6925894b//processbpmndi:BPMNDiagram idBPMNDiagram_messagebpmndi:BPMNPlane bpmnElementmessage idBPMNPlane_messagebpmndi:BPMNShape idshape-2389bc8b-6dca-4ad0-ae30-7f18f1df4ff4 bpmnElementsid-2aac151d-e888-467a-b8e9-2f512e365228omgdc:Bounds x-292.75 y-38.5 width30.0 height30.0//bpmndi:BPMNShapebpmndi:BPMNShape idshape-6933f3c2-9e66-478d-a2bf-22042e7198c2 bpmnElementsid-bdcd3e82-e9d3-41ee-ae69-f658ea3cf1d1omgdc:Bounds x-234.25 y-63.5 width100.0 height80.0//bpmndi:BPMNShapebpmndi:BPMNEdge idedge-c3bd0815-b0e9-4f3a-a4a8-d531063d5ee1 bpmnElementsid-1bcd8e94-8f7b-4265-a3b7-b2e113bb3d09omgdi:waypoint x-262.75 y-23.5/omgdi:waypoint x-234.25 y-23.5//bpmndi:BPMNEdgebpmndi:BPMNShape idshape-369198b3-92b5-41dc-be13-161bb96aceeb bpmnElementsid-59e5b9e6-1579-464f-bebf-939a6925894bomgdc:Bounds x388.9129 y-38.5 width30.0 height30.0//bpmndi:BPMNShapebpmndi:BPMNEdge idedge-ea561676-eb7f-4e24-b93e-55253ef99de6 bpmnElementsid-9360e3fe-a092-46f4-a6d0-b68cc66f7b57omgdi:waypoint x-134.25 y-23.5/omgdi:waypoint x-106.75 y-23.5//bpmndi:BPMNEdgebpmndi:BPMNShape idshape-18ea56ca-4b72-4eb3-bc65-02515550d26d bpmnElementsid-b3ed607b-e3ea-4695-87af-54c71bd85820omgdc:Bounds x-106.75 y-38.5 width30.0 height30.0//bpmndi:BPMNShapebpmndi:BPMNShape idshape-5f517e63-3511-4b12-bb7e-3190a8e458fb bpmnElementsid-c504e710-651a-4f5a-a0a1-6e2e3d3e992aomgdc:Bounds x-49.35 y-63.5 width100.0 height80.0//bpmndi:BPMNShapebpmndi:BPMNEdge idedge-a788f528-47cb-4a02-8ac1-18214cbe2277 bpmnElementsid-fc3da049-2f76-4188-8c33-27a7572c263eomgdi:waypoint x-76.75 y-23.5/omgdi:waypoint x-49.35 y-23.5//bpmndi:BPMNEdgebpmndi:BPMNEdge idedge-8a99dde1-060b-4fcc-8053-6e9f8ea853f9 bpmnElementsid-d164986f-7551-43b3-b18e-da7b2830dc7fomgdi:waypoint x50.65 y-23.5/omgdi:waypoint x184.43443 y-23.5//bpmndi:BPMNEdgebpmndi:BPMNShape idshape-9a8d9303-59ce-472d-8ba5-92d68589673c bpmnElementsid-813f9e98-aa9a-4744-b4ff-503f31cd5af8omgdc:Bounds x36.874165 y61.529808 width100.0 height80.0//bpmndi:BPMNShapebpmndi:BPMNEdge idedge-5e7d2270-7207-4b9c-a151-90b8ae3dbec4 bpmnElementsid-a05f2ac4-4cbb-4091-b32a-2251e3d59c34omgdi:waypoint x0.7840462 y10.115295/omgdi:waypoint x0.6500015 y101.5298/omgdi:waypoint x36.87416 y101.52981//bpmndi:BPMNEdgebpmndi:BPMNShape idshape-c3ae777e-7677-4666-9568-82afcd8f105c bpmnElementsid-1dbfc3d6-a8ae-4989-9dab-343a2ab573f5omgdc:Bounds x184.43442 y-63.5 width100.0 height80.0//bpmndi:BPMNShapebpmndi:BPMNShape idshape-6c351baf-210d-4254-b775-90d3d849503b bpmnElementsid-fb470629-bb4f-4c15-8031-629bf6b23474omgdc:Bounds x276.2087 y61.529793 width100.0 height80.0//bpmndi:BPMNShapebpmndi:BPMNShape idshape-78f32f48-e45e-4280-8f9e-8da9b1aa8137 bpmnElementsid-9376d8dd-c6fd-4c8c-94b0-549ca543194comgdc:Bounds x174.23729 y86.5298 width30.0 height30.0//bpmndi:BPMNShapebpmndi:BPMNEdge idedge-a27dffa7-5cdb-4725-b416-935122444e28 bpmnElementsid-4796fc97-3d81-44ac-a372-1ec5107ba121omgdi:waypoint x136.87416 y101.52981/omgdi:waypoint x174.23729 y101.5298//bpmndi:BPMNEdgebpmndi:BPMNEdge idedge-1c9fe7c0-1a25-4713-964b-c21c7e7da939 bpmnElementsid-7b257b24-9a92-4cca-9280-50f057d3b756omgdi:waypoint x284.43442 y-23.5/omgdi:waypoint x388.9129 y-23.5//bpmndi:BPMNEdgebpmndi:BPMNEdge idedge-f224127e-7bf1-4c6b-a9cb-71d3779a2095 bpmnElementsid-81b3aace-e1af-4f69-8a77-a1ed9a659c40omgdi:waypoint x243.56537 y12.270161/omgdi:waypoint x244.85805 y101.5298/omgdi:waypoint x276.2087 y101.529785//bpmndi:BPMNEdgebpmndi:BPMNEdge idedge-236d755e-c900-4a3e-ac03-c67efc67fe2c bpmnElementsid-b307971c-2cdf-4af0-bebc-a2943945cc8comgdi:waypoint x376.20874 y101.529785/omgdi:waypoint x403.91287 y101.529785/omgdi:waypoint x403.9129 y-8.5//bpmndi:BPMNEdgebpmndi:BPMNShape idshape-0e367d18-9323-48cf-9862-2050042aaa3a bpmnElementsid-32b97e42-5b52-45fa-9bc3-ec8bd4461087omgdc:Bounds x-14.215954 y-19.884705 width30.0 height30.0//bpmndi:BPMNShapebpmndi:BPMNShape idshape-8741f847-bbde-4157-8d80-729f8858eec8 bpmnElementsid-e9d7d45d-9d06-4b01-8315-e50b66c2dfbdomgdc:Bounds x228.56535 y-17.72984 width30.0 height30.0//bpmndi:BPMNShape/bpmndi:BPMNPlane/bpmndi:BPMNDiagram
/definitions测试流程
RunWith(SpringRunner.class)
SpringBootTest(webEnvironment SpringBootTest.WebEnvironment.RANDOM_PORT)
public class TestActivityMessage {Autowiredprivate RepositoryService repositoryService;Autowiredprivate RuntimeService runtimeService;Autowiredprivate TaskService taskService;private static final String PROCESS_INSTANCE_ID bb77d92a-3e55-11ee-8497-18c04dcd4aee;Testpublic void deployAndStartProcess() {// 部署流程Deployment deploy repositoryService.createDeployment().addClasspathResource(processes/message.bpmn20.xml).deploy();System.out.println(deploy deploy);// 启动流程 根据消息名称触发启动定义的消息会记录在act_ru_event_subscr事件结束后自动删除记录。ProcessInstance processInstance runtimeService.startProcessInstanceByMessage(msgName1, message:10001);System.out.println(processInstance processInstance);}Testpublic void receivedMiddleMessage() {// 查询执行Execution execution runtimeService.createExecutionQuery().processInstanceId(PROCESS_INSTANCE_ID).onlyChildExecutions().singleResult();System.out.println(execution execution);// 发送消息 触发消息中间事件runtimeService.messageEventReceived(msgName2, execution.getId());}Testpublic void receivedBoundMessage() {String messageName msgName4;// 查询执行 根据消息名字查询Execution execution runtimeService.createExecutionQuery().processInstanceId(PROCESS_INSTANCE_ID).messageEventSubscriptionName(messageName).onlyChildExecutions().singleResult();System.out.println(execution execution);// 发送消息runtimeService.messageEventReceived(messageName, execution.getId());}Testpublic void completeUserTask() {// 查询任务Task task taskService.createTaskQuery().processInstanceId(PROCESS_INSTANCE_ID).singleResult();System.out.println(task task);// 完成任务taskService.complete(task.getId());}}流程执行步骤
// 1.部署流程并根据消息开始事件-名字msgName1启动流程
// 2.触发服务任务
// 3.触发消息中间事件msgName2
// 4.查询execution并发送msgName2消息
// 5.当前任务为用户任务1触发消息边界事件1-msgName3非中断
// 6.根据消息名字msgName3查询execution并发送msgName3消息
// 7.触发通知服务任务
// 8.完成用户任务1当前任务变更为用户任务2触发消息边界事件2-msgName4中断
// 9.根据消息名字msgName4查询execution并发送msgName4消息
// 10.当前任务变更为用户任务3
// 11.完成用户任务3结束流程