我在我的应用程序中使用 Activiti 框架。Activiti 通过 Activiti API 进行管理。
有什么问题:
我需要使用应用程序重新启动服务器。这意味着两件事:
- 我需要正确暂停/停止所有活动
- 我需要正确更新所有停止的活动
目前我的应用程序通过System.exit(0)停止
问题:
- 我怎么能那样做?(指以上两项)
- System.exit(0) 会遇到什么问题?
编辑:
- 对了谢谢。但我使用嵌入式 Activiti。这些适用于嵌入式还是仅适用于独立(通过 REST)?
- 异步任务呢?
- 我看到了 ProcessEngine .close 函数。它是干什么用的?我需要吗?
编辑2:
我做了一个演示来说明异步任务挂起的问题。您可以通过键入以下内容来获取它:
git clone https://github.com/JOLO-/Activiti-Process-Suspend-Renew-Demo.git
关于演示:
我的工作流程看起来像:[主流程] => [异步子流程] => [返回主流程]
每个异步进程都包含无限循环,每秒打印一些内容(AddCandidateService.java)。
你应该看看 Main 类。在那里我做接下来的事情:
- 启动两个主要进程
- 对于每个主进程,我启动一个异步子进程(无限循环)
- 暂停所有活动进程
[预期结果]:
所有进程和子进程停止计算
[实际结果]:
异步子进程继续其计算