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";
* }