
JBPM
foxking_yjl
上善若水,厚德载物。
展开
-
JBPM工作流引擎内核设计思想及构架
1 前言流程引擎内核仅是“满足Process基本运行”的最微小结构,而整个引擎则要复杂很多,包括“状态存储”、“事件处理”、“组织适配”、“时间调度”、“消息服务”等等外围的服务性功能。引擎内核,仅包含最基本的对象和服务,以及用于解决流程运行问题的调度机制和执行机制。 如果,你掌握了一个流程引擎的灵魂,你才有能力理解它的全部。否则,一个引擎对你来说,可能只是一个复杂的结构,丰富多彩API、令人转载 2008-03-25 10:47:00 · 6797 阅读 · 3 评论 -
JBPM知识点------Superstates、event
超状态是一组节点,超状态可以被递归嵌套。超状态可以被用来在流程定义中产生一些层次,例如,一个应用可能要把流程中的所有节点按阶段进行分组。动 作可以与超状态事件关联,结果就是一个令牌在某个给定时间可以存在于多个嵌套的节点,这便于检查流程是否执行,比如,是否在启动阶段。在Jbpm模型中,你可以任意分组任何节点到一个超状态。在指定节点时用(/)隔开节点名称,用“..”指向上一层次。转载 2008-03-28 14:19:00 · 737 阅读 · 0 评论 -
JBPM知识点------ContextInstance
上下文主要是用来操作变量的,其实在decision和ProcessState2的例子中已经使用过了。一般得到ContextInstance可以通过以下2种方式:ContextInstance contextInstance = processInstance.getContextInstance();ContextInstance contextInstance = (ContextInsta转载 2008-03-28 14:07:00 · 1431 阅读 · 1 评论 -
JBPM知识点------identity
这部分和task紧密关联。身份组件,其实就是描述企业组织架构的组件,有四张表用来存储这部分信息:jbpm_id_group、jbpm_id_membership、jbpm_id_permissions、jbpm_id_user.User 表示用户或服务。Group是任何类型的用户组,Group可以被嵌套,用来建模一个团队、一个业务单元、以及整个公司的关系,组有类型,用来在不同转载 2008-03-28 14:00:00 · 674 阅读 · 0 评论 -
JBPM知识点------JPDL3.1规范
前言: 这是jBPM3.1指南第16章的翻译。但不仅仅是简单的翻译而已。其中加入了我对jBPM的JPDL规范和技术的理解。我已经对其进行了全面的扩充讲解!应该说,本文是一份非常有用的jBPM的技术参考,其内容已经完全涵盖了jBPM指南的所有要点!它既可以作为你的jBPM和JPDL的参考速查手册,也可以用作学习jBPM和JPDL规范的教材。它完全浓缩了jBPM官方指南的精华。另外,我转载 2008-03-26 11:37:00 · 1818 阅读 · 0 评论 -
JBPM知识点------decision
decision也是一种node类型,表示判断,其判断条件可以在流程定义中进行设置,也可以由外界提供。 下面是流程定义中的2种方式: 表达式方式 1 ? no : no) }" > ----------------------------------转载 2008-03-28 14:30:00 · 746 阅读 · 0 评论 -
JBPM知识点------fork、join
分支节点会产生子令牌,到达聚合节点的所有子令牌完成,聚合节点才继续进行。 --------------------------------------------------------------private static void run(){转载 2008-03-28 14:27:00 · 2700 阅读 · 1 评论 -
JBPM知识点------Actions
动作是在流程执行的事件上被执行的java代码片断。注意动作被放置在事件与被放置在节点之间的差异。放置在事件中的动作当事件激活时被执行,事件上的动作不能影响流程的控制流,放置在node上的动作则有传播流程执行的职责 。我们将前一个专题(node)的例子作一点改动: HELLO ---------------转载 2008-03-28 14:24:00 · 643 阅读 · 0 评论 -
JBPM知识点------exception-handler
Jbpm的异常处理机制仅仅集中于java异常,图本身的执行不会导致问题,只有在执行委托类时才会导致异常。在 流程定义(process-definitions)、节点(nodes)和转换(transitions)上,可以指定一个异常处理 (exception-handlers)清单,每个异常处理(exception-handler)有一个动作列表,当在委托类中发生异常时,会在流程 元素的父层次转载 2008-03-28 14:22:00 · 1226 阅读 · 0 评论 -
JBPM知识点------state
state是一种节点类型,当流程运行到该节点后会等待,需要外界进行触发,流程才能继续进行。一般用在同系统外部进行交互,如当流程进入该节点后向外系统发业务处理请求,然后进入等待状态,当外系统完成后发回响应信息后,通过token.signal()触发流程继续。如: System.out.println("this script is entering转载 2008-03-28 15:00:00 · 865 阅读 · 0 评论 -
JBPM知识点------node
node节点类型适用于当你想要在节点中编写自己的代码的情形。通过设置action来帮定我们自己的商业逻辑。 HELLO ------------------------------------ package com.jeffentest;import org.jbpm.graph.def.ActionHandler转载 2008-03-28 14:11:00 · 1520 阅读 · 1 评论 -
JBPM知识点------tasknode
同fork等一样是一种节点类型。任务节点是jbpm中一个非常重要的概念,一个任务节点可以包含若干个任务(开始状态start-state只能有一个任务),不同的任务可以由不同的人来完成,任务实例被分配给actorId来完成。任务实例有几个状态:创建、开始、结束,这些信息存在JBPM_TASKINSTANCE中。常用的方法:分派任务(指定处理人)-TaskInstance.assign(String)转载 2008-03-28 14:05:00 · 1491 阅读 · 0 评论 -
JBPM知识点------timer、Scheduler
定时器timer可以被用于decision fork join node process-state state super-state task-node,可以设置开始时间duedate和频率repeat,定时器动作可以是所支持的任何动作元素,如action或script,会运行 我们设置的商务动作。定时器通过动作创建和取消,有两个动作元素create-timer和cancel-t转载 2008-03-28 13:59:00 · 1121 阅读 · 1 评论 -
JBPM知识点------Transitions
转换有一个源节点和一个目标节点,源节点用from属性表示,目标节点用to属性表示。节点可以有一个任意的名称,注意:很多Jbpm特 性依赖于唯一的转换名称,如果有多个转换有相同的名字,则拥有给定名称的第一个转换被使用。如果在一个节点中存在重复的转换名称,则Map getLeavingTransitionsMap()方法返回的元素将少于List getLeavingTransitions()方法。转载 2008-03-28 15:02:00 · 635 阅读 · 0 评论