https://github.com/bluejoe2008/openwebflow
OpenWebFlow是基于Activiti扩展的工作流引擎,它扩展的功能包括:
|
最近对Activiti做了一些深入的研究,对Activiti的流程机制有了些理解,对动态调整流程也有了一些实践方法。
现在好好总结一下,一来是对这段时间自己辛苦探索的一个记录,二来也是为后来者指指路~~~
如下内容准备采用QA的方式写,很多问题都是当初自己极疑惑的问题,希望能为大家解惑!
Q:可以动态调整流程吗?
A:可以!可以动态更改流程指向,或者创建新的节点,等等。。。
Q: 更改流程还需要注意什么?
A: 必须要实现持久化!否则一旦应用重启,你的流程就犯糊涂了!譬如,你创建了一个新节点,但由于没有持久化,重启之后流程引擎找不到那个新节点了。。。
Q: 如何做到优雅?
A: 除了持久化之外,还记住尽量不要因为临时调整直接更改现有活动(没准这个活动后面还要照常使用呢!),这种情况可以考虑克隆。第三,不要直接操作数据库,或者SqlSession,记住自己写Command!参见我前面的