为什么不能直接删除task?

发布于 2021-11-19 05:34:58 字数 14 浏览 806 评论 1

为什么不能直接删除task?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拍不死你 2021-11-23 04:00:47

activiti的推进模型是这样的。

当遇到一个userTask节点时,流程暂停,然后创建一个task,task里保存对应的executionId。这样task在complete时,就会触发等待状态的execution继续执行。

如果你删除了task,等待的execution怎么办?一直等待?

所以直接删除task会导致流程死锁,activiti内部就做了判断,如果task的execution不为null,说明有一个execution在等待着task的完成,如果你尝试直接delete,就抛出异常。禁止这种操作。

那什么task可以delete呢?你自己newTask()创建的task,因为没有execution再等待task的完成,所以可以直接delete()掉。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文