jbpm 學習各種語句使用

2021-05-26 10:55:21 字數 3746 閱讀 9379

processengine processengine = new configuration()

.buildprocessengine();

上面的**演示了如何通過classpath根目錄下 預設的配置檔案jbpm.cfg.xml建立乙個processservice。 如果你要指定其他位置的配置檔案, 請使用setresource()方法:

processengine processengine = new configuration()

.setresource("my-own-configuration-file.xml")

.buildprocessengine();

一、processengine = configuration.getprocessengine(); //初始化啟動流程引擎

二、repositoryservice repositoryservice = processengine

.getrepositoryservice();

string deploymentid = repositoryservice.createdeployment()

.addresourcefromclasspath("helloworld.jpdl.xml").deploy();  //流程發布

listlist = repositoryservice

.createprocessdefinitionquery().list();    //已發布的流程定義

for (processdefinition pd : list)

repositoryservice.deletedeploymentcascade(deploymentid);  //流程定義刪除

三、executionservice executionservice = processengine.getexecutionservice();  //得到流程例項

processinstance pi = executionservice

.startprocessinstancebykey("helloworld"); //啟動流程例項

四、pi = executionservice.signalexecutionbyid(pi.getid());  //流程繼續向下執行,即走到下一步

五、            executionservice.endprocessinstance(pi.getid(), "cancel");  // 以cancel方式結束流程例項

executionservice.deleteprocessinstancecascade(pi.getid());  // 刪除流程例項

六、            listlist = executionservice.createprocessinstancequery().list();  //查詢當前已經在執行的流程例項

for (processinstance processinstance : list)

processdefinition pd 

pd.getid()

pd.getname() 

pd.getversion()

七、             taskservice taskservice = processengine.gettaskservice();

listtasklist = taskservice.findpersonaltasks(username);  //使用者username的任務列表

task.getformresourcename()  //  任務活動中繫結的jsp例如

八、             map map = new hashmap();

map.put("owner", session.getattribute("username"));             //放置username到變數#中

executionservice.startprocessinstancebyid(request

.getparameter("id"), map);

九、        map map = new hashmap();

map.put("day", day);                //放入變數

map.put("reason", reason);

taskservice.completetask(taskid, map);                        //任務完成

申請人:<%=taskservice.getvariable(taskid, "owner") %>

//取得變數

十、identityservice identityservice = processengine.getidentityservice();   //身份認證

identityservice.creategroup("dev");           //建立使用者組

identityservice.createuser("user1", "user1", "user1");  //建立使用者

identityservice.createuser("user2", "user2", "user3");

identityservice.createmembership("user1", "dev");

identityservice.createmembership("user2", "dev");

taskservice.findgrouptasks("user1")  //得到候選任務

taskservice.taketask(task.getid(), "user1"); //接受任務

taskservice.completetask(task.getid());     //任務完成

十一、   事件監聽 

public class processeventlistener implements eventlistener

}<?xml version="1.0" encoding="utf-8"?>

十二、    setactivitynames = processinstance.findactiveactivitynames();  //當前活動節點

十三、歷史資訊    

如果想查詢某一特定流程定義的所有流程例項, 可以像這樣操作:

listhistoryprocessinstances = historyservice

.createhistoryprocessinstancequery()

.processdefinitionid("icl-1")

.orderasc(historyprocessinstancequery.property_starttime)

.list();

單獨的活動流程也可以作為historyactivityinstance 儲存到歷史資訊中。

listhistactinsts = historyservice

.createhistoryactivityinstancequery()

.processdefinitionid("icl-1")

.activityname("a")

.list();

有時,我們需要獲得指定流程例項已經過的節點的完整列表。 下面的查詢語句可以用來獲得所有已經執行的節點列表:

listhistactinsts = historyservice

.createhistoryactivityinstancequery()

.processinstanceid("icl.12345")

.list();

jbpm中Decision的使用

decision是jbpm中非常重要的一種node,在我們的一般的工作流系統中使用的也很頻繁,本文談談它的使用.1 如果客戶端能夠比較容易的判斷decision後應該到哪個transition,我們只需要把 transition的名稱作為signal發給token就可以了,此時,引擎將驅動流程轉向該...

jbpm5學習資料

jbpm5學習資料 迴圈示例 本示例是乙個在外部傳入的變數,通過傳入的變數來判斷迴圈次數的演示程式,看一下流程定義的內容 如圖 初始化的時候設定變數i的值為0,然後進入流程結點,選擇的是xor,就是異或的意思,在迴圈中輸出變數i的值並且加1,在後面的選擇節點上判斷變數i的值,如果小於count則迴圈...

Python 各種語句 2018 07 27

1.if.elif.else條件語句 coding utf 8 num 5 if num 3 判斷num的值 print boss elif num 2 print user elif num 1 print worker elif num 0 值小於零時輸出 print error else pr...