优雅的实现Activiti动态调整流程(自由跳转、前进、后退、分裂、前加签、后加签等),含范例代码!
- - CSDN博客推荐文章最近对Activiti做了一些深入的研究,对Activiti的流程机制有了些理解,对动态调整流程也有了一些实践方法. 准备好好总结一下,一来是对自己辛苦探路的一个记录,二来也是为后来者指指路~~~. 如下内容准备采用QA的方式写,很多问题都是当初自己疑惑的问题,希望能为大家解惑. 可以动态更改流程指向,或者创建新的节点,等等.
最近对Activiti做了一些深入的研究,对Activiti的流程机制有了些理解,对动态调整流程也有了一些实践方法。
准备好好总结一下,一来是对自己辛苦探路的一个记录,二来也是为后来者指指路~~~
如下内容准备采用QA的方式写,很多问题都是当初自己疑惑的问题,希望能为大家解惑!
A:可以!可以动态更改流程指向,或者创建新的节点,等等。。。
A: 必须要实现持久化!否则一旦应用重启,你的流程就犯糊涂了!譬如,你创建了一个新节点,但由于没有持久化,重启之后流程引擎找不到那个新节点了。。。
A: 除了持久化之外,还记住尽量不要因为临时调整直接更改现有活动(没准这个活动后面还要照常使用呢!),这种情况可以考虑克隆。第三,不要直接操作数据库,或者SqlSession,记住自己写Command!参见我前面的 另外一篇文章
A: 参见我在github上的开源项目OpenWebFlow, TaskFlowControlService.java