Decision是jbpm中非常重要的一种Node,在我们的一般的工作流系统中使用的也很频繁,本文谈谈它的使用.
1:如果客户端能够比较容易的判断decision后应该到哪个transition,我们只需要把transition的名称作为signal发给Token就可以了,此时,引擎将驱动流程转向该transition.
2:如果是直接使用Decision,则它是基于BeanShell的.
BeanShell脚本必须把选择的转移的名称赋给"transitionName"变量.
脚本中可以使用的变量有两类:
1)token
2)环境变量
3:变量可以从两个地方来声明:
1)环境变量
2)脚本的开始
如果环境变量中没有声明,则从脚本中读取,前者的性能要好一些.
jbpm自己给的一个beanshell的使用例子如下:
* transitionName = "left";
* if ( ( spottedOnTheRight.equals( "woman" ) )*
&& ( beauty.equals( "in the eye of the beholder" ) ) ) {
*
transitionName = "right";
* }