flowable消息事件
  ZKWq2izDxIhQ 2023年12月08日 18 0


一:启动事件

定义消息。

flowable消息事件_Deployment


引用消息。

flowable消息事件_Test_02

<startEvent id="msgStart" name="消息启动事件" isInterrupting="true">
      <messageEventDefinition messageRef="myMsgStart"></messageEventDefinition>
</startEvent>
@Test
void startMessageProcess() {
    Deployment deploy = repositoryService.createDeployment()
            .addClasspathResource("processes/MsgStartEventProcess.bpmn20.xml")
            .name("消息启动流程")
            .deploy();
	// 注意:这里是根据messageName启动的而不是根据messageId
    ProcessInstance processInstance = runtimeService.startProcessInstanceByMessage("我的第一个消息启动事件");
    System.out.println(processInstance.getId());
}

二:中间事件

中间消息也是用于延迟到下一节点的审批时机,即当触发某个条件时才会继续走到下一个节点。

flowable消息事件_Deployment_03

flowable消息事件_Deployment_04

@Test
void nextActivitiy() {
    // 触发中间消息捕获事件,进入下一节点
    runtimeService.messageEventReceived("中间消息", "50");
}

三:边界消息

边界消息:当消息到达时如果节点还没有审批,那么节点就流转到边界消息事件后面的那个节点处理。

flowable消息事件_xml_05

@Test
void nextActivitiy() {
    // 如果UserTask1在调用该方法时还没有审批,就流转到UserTask3      
    runtimeService.messageEventReceived("边界消息", "7553");
}


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月08日 0

暂无评论

推荐阅读
ZKWq2izDxIhQ