1、task-node
一個task-node可以包含一個或多個task,這些task分配給特定的user。當(dāng)流程執(zhí)行到task-node時,task instance將會被創(chuàng)建,一個task對應(yīng)一個task instance。task instances 創(chuàng)建后,task-node就處于等待狀態(tài)。當(dāng)所有的task instances被特定的user執(zhí)行完畢后,將會發(fā)出一個新的signal 到token,即流程繼續(xù)執(zhí)行。
2、state state是一個純粹的wait state(等待狀態(tài))。它和task-node的區(qū)別就是它不會創(chuàng)建task instances。很典型的用法是,當(dāng)進入這個節(jié)點時(通過綁定一個action到node-enter event),發(fā)送一條消息到外部的系統(tǒng),然后流程就處于等待狀態(tài)。外部系統(tǒng)完成一些操作后返回一條消息,這個消息觸發(fā)一個signal 到token,然后流程繼續(xù)執(zhí)行。(不常用)
3、decision
當(dāng)需要在流程中根據(jù)不同條件來判斷執(zhí)行不同路徑時,就可以用decision節(jié)點。兩種方法:最簡單的是在transitions里增加condition elements(條件),condition是beanshell script寫的,它返回一個boolean。當(dāng)運行的時候,decision節(jié)點將會在它的 leaving transitions里循環(huán),同時比較 leaving transitions里的condition,最先返回'true'的condition,那個leaving transitions將會被執(zhí)行;作為選擇,你可以實現(xiàn)DecisionHandler接口,它有一個decide()方法,該方法返回一個String(leaving transition的名字)。
4、fork fork節(jié)點把一條執(zhí)行路徑分離成多條同時進行(并發(fā))的執(zhí)行路徑,每條離開fork節(jié)點的路徑產(chǎn)生一個子token。
5、join
默認(rèn)情況下,join節(jié)點會認(rèn)為所有到達該節(jié)點的token都有著相同的父token。join 節(jié)點會結(jié)束每一個到達該節(jié)點的token,當(dāng)所有的子token都到達該節(jié)點后,父token會激活。當(dāng)仍然有子token處于活動狀態(tài)時,join 節(jié)點是wait state(等待狀態(tài))。
6、node
node節(jié)點就是讓你掛自己的action用的(注意:不是event觸發(fā)?。。?,當(dāng)流程到達該節(jié)點時,action會被執(zhí)行。你的action要實現(xiàn)ActionHandler接口。同樣,在你的action里要控制流程!
http://www.tkk7.com/ronghao 榮浩原創(chuàng),轉(zhuǎn)載請注明出處:)
posted on 2005-11-14 16:59
ronghao 閱讀(788)
評論(0) 編輯 收藏 所屬分類:
工作流jbpm3