jbpm4.4在线设计分支跳转
?
?我们知道jbpm4.4提供了三种比较方便的分支跳转方式,如下所示:
1.通过expression
?
?2.通过handler
?3.通过condition
?我们发现这种方式,若一旦我们的流程定义完成后,再想在运行中动态改变这种分支条件的设计就很难了,但是我们知道可以在流程定义发布到后台后,我们可以提供动态修改xml的方式,用handler的方式加上我们的分支决定的decision(需要实现jpbm的decision接口即可),通过handler来实现分支有一个比较大的优点就是我们可以在handler动态去执行我们需要工作流额外执行的代码,并且可以通过这个判断来决定其跳转的路径。
?
但我们不可能为所有的有分支决定的流程都加一个decision handler,并且在里面进行动态的分支判断。那样的工作很大,并且不灵活。
?
我们看一下第二种handler的接口:
?
发布后,设计其分支条件,如下所示:
?
我们在条件那里加入流程干预:
?
其对应的字段映射为:
在后台绑定该表单:
启动流程:
执行后,可以看到流程自动判断跳转:
?
我们看一下本身我们的handler如何写:
?
??
里面其实比较简单,就是通过动态执行那个给用户开放的代码片段,并且根据其tranTo变量的值来决定其如何跳转,在上面的例子就是流程表单中的金额是否大于2000元来跳转。
?
同样,我们知道jbpm4_lob中存着jbpm4的流程定义的xml文件,只要把动态修改jbpm4的流程定义,可以为我们的作何节点加上我们需要流程动态执行的事件及代码。请关注后续的文章,有介绍如何扩展jbpm4的流程事件。
?
?
在线看预览情况:
?
http://bbs.jee-soft.cn/swf/design_decision.html
?
http://bbs.jee-soft.cn/posts/list/285.page#384
在线测试地址:
网通:
http://oa.jee-soft.cn:8080/index.jsp
电信:
http://office.jee-soft.cn:8080/index.jsp
?
用户:admin,密码:1