您的位置:首页 > 编程语言 > Java开发

传智播客JAVA培训2010-5-5JBPM总结.

2010-05-05 23:27 337 查看

传智播客JAVA培训2010-5-5JBPM总结.

今天JBPM的学习就完了,传智的学习也进入了关键时期,从明天开始,就要开始项目的开发了,因为前段时间的学习,虽然上课的时候是听得清楚的,但是因为时间的紧迫,所以,现在项目的开发时期,将是我们将知识的掌握度,以及知识的灵活运用,用于实战开发的关键时期了,所以,精彩现在才开始。前期时间只是基础课程的准备罢了,对于我而言,反而项目的实战是我现在最需要吸收的。这也是我们每一个学习传智的人都最向往的,然而这也是我们最期待的。
但压力仍旧是铺天盖地呀,每天晚上睡觉之前都有一个习惯,就是看北京的招聘启事,看着各大公司招人的要求,心里就不知觉的紧张,因为将近一年的软行开发经验,却实在让我不能在这个人才济济的大城市有多少信心,身处中国教育的核心地带,与清华,北大为邻,本该吸引他们优秀的人文精神,太社会就是社会,现实就是现实,同时我也得学习他们要吃饭啊!其实,人人当初何尝不想让如此好的大学,至少现在想起来,为当年的年少无知感到无底自荣,但时景过迁,我们没有让时光倒流的能力,所以,我们要现对的是现实,用慢慢逝去的青春来弥补曾经荒谬的年代,我们,要前看!用勇气和毅力。如下为今天学习JBPM工作流的总结:
jbpm_processdefinition 表的字段:用来存储我们定义的流程。
ID_
CLASS_,
NAME_,
DESCRIPTION_,
VERSION_,
ISTERMINATIONIMPLICIT_,
STARTSTATE_
以上是存储我们自已创建的流程的表的字段,虽然远不止这一个表。今天列出一个,先完成今天的总结,其实的表结构往后在深入分析。

基本结点:

1.决择结点的使用:(Decition)
可以根据不同的条件进行判断执行。其要使用到一个类,该类必须要实现 DecisionHandler,然后将实现了该接口的类作为该决择结点的Handler类.
2.Fork/join (分支合并结点),必须成对的出现配合使用.多个分支并行执行,以前的情况是有一个root-token,在这儿他分成多个token,该token与root-token之间的关系是父子关系。

3.State 状态结点  就是启一个等等的作用。

4.自定义结点(Node):可以实现以上所有的接点。
老师以发手机短信为例进行说明。这里要我们也要写一个实现了ActionHandler接口的实现类。这样在我们执行自定义接点时就会自动去执行ActionHandler 接口的 execute()方法。
Xml文件中的体现:
<node name="node1">
<action class="cn.itcast.jbpm.node.ActionHandlerImpl"></action>
<transition to="end-state1"></transition>
</node>
如果不配置时,就是默认离开。

EVNET(事件)

一共有七种事件。
节点事件:进入/离开。Enter/leave
流转事件:只有一个流转。transtion
任务的事件:创建/分配/开始/结束。Create///

配置的源代码如下: <start-state name="start-state1">
<transition to="task-node1">
<action ref-name="printEventHandler"></action>
</transition>
<event type="node-leave">
<action class="cn.itcast.jbpm.node.ActionHandlerImpl" name="printEventHandler"></action>
</event>
</start-state>
<task-node name="task-node1">
<task name="抢钱了啊">
<assignment actor-id="小日本"></assignment>
</task>
<event type="task-create">
<action ref-name="printEventHandler"></action>
</event>
<event type="task-assign">
<action ref-name="printEventHandler"></action>
</event>
<event type="task-start">
<action ref-name="printEventHandler"></action>
</event>
<event type="task-end">
<action ref-name="printEventHandler"></action>
</event>
<transition to="end-state1"></transition>
</task-node>
<end-state name="end-state1">
<event type="node-enter">
<action class="" ref-name="printEventHandler"></action>
</event>
</end-state>
以上一共配置了七个事件,这样我们就可以清楚的知道他们执行的顺序。要谨记,一定要把属于自己的事件才配置到自己的身上。以下执行结果:

可见,任务是先创建,后分配,开始,结束这个顺序执行的。

任务分配:

就是把任务分配给那个对象来执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息