jBPM4 PVM的流程定义模子与历程调度[Java编程]
本文“jBPM4 PVM的流程定义模子与历程调度[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
完好的jBPM4 PVM介绍发表在《程序员》第8期,这里截取部份的意思是PVM的历程调度是非常机动的,PVM供应了一套和token近似的execution历程调度机制,通过对execution的完好操控,节点运行期行为有了无限的大概.
PVM的流程定义模子
首先要阐明的是,上图里的类满是接口.位于最上层的是ObservableElement,其供应应流程元素以附加Event(事件)的本领.在 ObservableElementImpl里,它持有一个events的调集属性.关于流程元从来说,典型的事件有:流程启动/完毕,节点启动/完毕和转移线履行(take).
Java代码
protected Map<String, EventImpl> events;
Event又做了些什么呢?EventImpl透过EventListenerReference实例的调集持有EventListener实例.这样在引擎履行历程调度时,就非常简单地通过流程元素本身获得事件监听器并在呼应的时刻履行它们.
Java代码
protected List<EventListenerReference> listenerReferences;
和传统的察看者情势一致,EventListener接口有且只有一个办法:
Java代码
void notify(EventListenerExecution execution) throws Exception;
紧接着ObservableElement的是CompositeElement,其扩大了ObservableElement接口.先看看它的办法:
Java代码
List<? extends Activity> getActivities();
boolean hasActivity(String activityName);
Activity getActivity(String activityName);
很明显,它持有了Activity的调集,关于ProcessDefinition来说,这是一件很自然地事情:流程定义包含多个节点定义.重要的是Activity自身富丽的变身:节点定义实现了嵌套,呈现了构造块.看图说话:
这一计划在jBPM3里是没有的,但是在jBPM4里则必须呈现,因为构造块是BPEL和BPMN里的重要概念.既然号称PVM,则必须向BPEL和 BPMN致敬.稍后我们可以看到,构造块的引入给引擎历程调度增添了很大的复杂度.在jPDL里,与之对应的实现是group.这是jBPM4流程定义模子的最重要改变.
ProcessDefinition和Activity辨别担当自CompositeElement,Activity和Transition成立起双向关联,这三者也是工作流模子里的尺度建模.
以上是“jBPM4 PVM的流程定义模子与历程调度[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |