Camunda SendTask和ReceiveTask

发布时间:2024年01月10日

一:bpmn

在这里插入图片描述
在这里插入图片描述

二:java

@Service
public class SendTaskService implements JavaDelegate {
    @Autowired
    private RuntimeService runtimeService;

    @Override
    public void execute(DelegateExecution execution) throws Exception {
        runtimeService.createMessageCorrelation("receive_task_msg")
                .processInstanceBusinessKey("key001")
                .correlate();
    }
}

三:test

// 1.先启动接收
repositoryService.createDeployment().name("接收流程")
        .addClasspathResource("bpmn/receive_task.bpmn").deploy();
runtimeService.startProcessInstanceByKey("ReceiveTaskProces", "key001");

// 2.再发送
repositoryService.createDeployment().name("发送流程")
        .addClasspathResource("bpmn/send_task.bpmn").deploy();
runtimeService.startProcessInstanceByKey("SendTaskProcess", "key001");

四:db

  1. 先启动接收流程,StartEvent -> ReceiveTask 会进入挂起等待状态。
  2. 后启动发送流程,StartEvent -> SendTask -> UserTask。
  3. 接收流程因收到发送流程的唤醒,所以接收流程也来到了UserTask。
  4. 最终两个流程都进入到下一个节点UserTask。
    在这里插入图片描述
文章来源:https://blog.csdn.net/vbirdbest/article/details/135506975
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。