JBPM task state decision 用法or不同点

jbpm4.3中的节点有很多种

常见的有:

state、task、decision

(我列出来的都是最基本的)

可以这样理解

流程实例碰到

state就会自己停下来,但是这个任务不属于那个人,而且知道有任何人驱动了向下,

流程才会流转

task就是也会停下来,但是这个任务会分派给一个人或者一个组

知道这个人或者这个组中的某个人(需要以“竞争”的方式领取任务,说白了就是抢)

完成了这个任务,然后流程才会向下

decision就是不会停下来的,它会自己根据流程变量选择往哪个流程分支前进

也就是相当于判断的意思,没有人干预的...

今天搞了decision ,非常郁闷 !

...网上大多数人都是让decision去搞出一个 handler 处理类...

这个...

顺便说一句...网上那些例子,几乎全部是写死的!

靠,decision需要依靠一个Java类,那么当你发布一个流程的时候还要附带上一个编译好的类?

... 那么这样工作流引擎的发布流程功能还有什么用呢?

按照网上的例子写,基本上可以说,你开发的使用已经限定了你可以发布什么流程

然后审批人是什么,表单传递的内容是什么...

这样,工作流引擎的意义就没多大了...

所以,我自己考虑了一下,不应该让流程定义依赖于handler类处理,而是使用

expression 表达式方式

而且,而且表单中的参数,也不该在流程处理的Action中定死,而是自动获取

表单的key和value放入流程变量...

当流程发布的时候,需要有流程定义文件,流程图片,流程所有的表单

我们需要上传这几个文件,然后才能    定义任意流程!

个人觉得,这样才发挥了工作流引擎的意义...

具体怎么写,篇幅问题,我只能等我彻底完成后再单独发一篇博客才能分享了...

回到正题:

<decision name="b" expr="#{action}">
  <transition to="c" name="abc"/>
  <transition to="d" name="def"/>
 </decision>

这个是我的decision 标签

expr是表达式

#{action}

是判断 流程变量中的 action ,如果action的值为 abc 那么就

流程流转向 c 节点

如果是 def 那么就流向 d 节点

当然,这些表达式还有很多

具体参照

贩卖你168那个文档

http://www.family168.com/tutorial/jbpm4.0/html/jpdl.html#decision

 

你可能感兴趣的:(JBPM task state decision 用法or不同点)