接收任务是一个简单任务,它会等待对应消息的到达。
当前,官方只实现了这个任务的java语义。
当流程到达接收任务,流程状态会保存到数据库中。
在任务创建后,意味着流程进入等待状态。
直到引擎接收了一个特定的消息,然后任务会继续向后执行。
这个消息是:processEngine.getRuntimeService().signal(executionId);
示例代码:
//创建执行对象查询
Execution execution1 = processEngine.getRuntimeService().createExecutionQuery()
//使用流程实例ID查询
.processInstanceId(processInstanceId)
//当前活动的id,对应bpmn文件中类型为ReceiveTask的节点id
.activityId("receivetask1").singleResult();
//创建一个流程变量
processEngine.getRuntimeService()
.setVariable(execution1.getId(), "汇总当日销售额", 21000);
//接受signal信号,向后执行一步,听过执行ID
processEngine.getRuntimeService().signal(execution1.getId());