activiti 提供了轻量级的工做流模型,但一些企业环境中经常使用到的功能并无提供现成的实现,如数据库
获取某一流程实例当前处理节点的可选下一节点
这个问题在使用jbpm4的时候,已经有考虑到,当时系统设计人员解决的方法是设计
在部署流程后,再对流程定义的xml执行一次解析,将全部节点的可选下一节点都经过语义解析出来,并存储到数据库中
到了使用activiti的时候,此问题并无更好的解决方案,所以将沿用前人的方法:code
因为activiti 是用了bpmn2来定义流程,区别于jbpm4的jbpl,所以须要从新实现一个parser来解析bpmn2