消息事件较为常见的就是撤回任务


一、工作流 Activiti7-25.消息事件_流程图

1.实战

一、工作流 Activiti7-25.消息事件_代码实现_02 image.png

一、工作流 Activiti7-25.消息事件_流程图_03 image.png

下面是代码实现:


一、工作流 Activiti7-25.消息事件_流程图_04 image.png

通过代码我们知道如果要进行撤回操作,我们至少需要两个信息:一个是消息的key,第二个是当前执行的任务的id,我们可以通过字段注入的方式,把需要撤回节点的id和消息的key都在画流程图的时候给写入即可。

还有一点我们需要判断当前节点是否具有撤回的功能,这个我们可以在历史节点中获取到当前节点id,然后看是否在提交的字段信息里面有,如果有则证明是可以撤回的。

一、工作流 Activiti7-25.消息事件_代码实现_05 image.png

同时需要注意一点就是还有一个bug,消息启动事件有问题会报错:


一、工作流 Activiti7-25.消息事件_代码实现_06 image.png