首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

JBPM对常见流程有关问题的解决

2013-11-02 
JBPM对常见流程问题的解决前两天在一群里看到个一码农的分享,觉得还不错,今天弄上来给大家看看,关于JBPM对

JBPM对常见流程问题的解决
前两天在一群里看到个一码农的分享,觉得还不错,今天弄上来给大家看看,关于JBPM对常见流程问题的解决 ,下面进入正文。

首先JBPM 的API文档非常匮乏,但是,JBPM的源码内部有很多注释,其代码可读性非常强,核心代码我认为不超过1w行,引擎核心代码也许只有两三千行。另外,阅读源码,最好对UML活动图、Petri网、Workflow模式较熟悉,譬如Join. setDiscriminator(),如果不了解Workflow模式的Discriminator模式,该方法就会不知所措。

Process本质上,只有两个对象:Node和Transition(节点和有向弧),只要这两类对象就可以完整绘出一个流程图,当然,Node有很多子类,譬如Start、End、Fork、Join、Decision等。

JBPM 的过程调度,是通过Token在流程节点之间转移实现的。譬如TaskInstance.end()的时候,调用Token.signal(),在 signal()内部,依次调用:Node.leave(),Transition.take(),Node.enter(),这三个调用依次引发如下三个event:node-leave,transition,node-enter,在event内部,就处理我们自定义的ActionHandler和写日志。从中我们可以看出,事件(event)处理和Token调度是分离的。上面的三个event是重复循环的,可以驱动流程向前进行:离开当前节点 进入下一节点。?过渡上面就是JBPM的大致调度过程,清晰而简洁。最后给大家推荐这个群,真心不错!群号:152654373,全是讨论这东西的!

热点排行