一個(gè)流程圖由許多node和transition組成。每個(gè)node都有一種類型,這個(gè)類型決定了當(dāng)流程執(zhí)行到這個(gè)node時(shí)的不同行為。jbpm有一組node type可以供你選擇,當(dāng)然你可以定制自己node 。
node的作用
node有兩個(gè)主要的作用:
1)
執(zhí)行java代碼,比如說創(chuàng)建task instance(任務(wù)實(shí)例)、發(fā)出通知、更新數(shù)據(jù)庫(kù)等等。很典型的就是在node 上掛上我們的action
2)
控制流程的執(zhí)行:
A、等待狀態(tài)
流程進(jìn)入到這個(gè)node時(shí)將處于等待狀態(tài),直到一個(gè)signal 的發(fā)出
B、流程將沿著一個(gè)leaving transition越過這個(gè)node
這種情況特殊一點(diǎn),需要有個(gè)action掛在這個(gè)node上(注意這個(gè)action不是event觸發(fā)的!),action中將會(huì)調(diào)用到API里
executionContext.leaveNode(String transitionName),transitionName即這里的leaving transition名字。
C、創(chuàng)建新的執(zhí)行路徑
很典型的就是fork node。流程在這里會(huì)分叉,產(chǎn)生新的執(zhí)行路徑。這樣就創(chuàng)建了新的token,每個(gè)新的token代表一個(gè)新的執(zhí)行路徑。注意的是,這些新的token和產(chǎn)生前的token是父子關(guān)系!
D、結(jié)束執(zhí)行路徑
一個(gè)node可以結(jié)束一條執(zhí)行路徑,這同樣意味著相應(yīng)的token的結(jié)束和流程的結(jié)束。
http://www.tkk7.com/ronghao 榮浩原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處:)
posted on 2005-11-15 18:14
ronghao 閱讀(858)
評(píng)論(0) 編輯 收藏 所屬分類:
工作流jbpm3