在指南中分別有5個(gè)例子由簡(jiǎn)單到復(fù)雜,根據(jù)測(cè)試用例從各個(gè)層面展示了jBpm的使用:
1.Hello World 例子:
主要展示了
(1)從XML String 形式中獲得 ProcessDefinition
(2)構(gòu)造實(shí)例化ProcessInstance
(3)獲得令牌token
(4)使用signal()用法
其中,JpdlXmlReader.parse(String str)
parses a process definition from a string. replaces single quotes with double quotes before parsing the xml.
從XML中解析一個(gè)流程定義。在解析先,用雙引號(hào)代碼單引號(hào)。
2.數(shù)據(jù)庫(kù)例子:
jbpm的一個(gè)基本特征就是:當(dāng)它們?cè)诘却隣顟B(tài)中,有能力在數(shù)據(jù)庫(kù)中持久化流程的執(zhí)行。
主要展示:
(1)獲得JBpmSessionFactory static 對(duì)象
(2)創(chuàng)建數(shù)據(jù)庫(kù)schema
jBpmSessionFactory.getJbmpSchema().createSchema();
(3)獲得創(chuàng)建JbpmSession
(4)引入GraphSession。 are the graph related database operations.
(5)根據(jù)流程名獲得最近的ProcessDefinition
ProcessDefinition processDefition = jbpmSession.getGraphSession.findLatestedProcessDefinition("hello world");
3.傳遞變量 上下文例子:
主要展示:
(1)ContextInstance 為流程實(shí)例維護(hù)所有的key-variable對(duì)。
ContexrInstance contextInstance = processInstance.getContextInstance();
(2)賦值于獲得值,Map機(jī)制
contextInstance.setVariable("amout",new Integer(500));
contextInstance.getVariable("amout");
4.任務(wù)委派例子:
主要展示:
(1)ProcessInstance .getTaskMgmtInstance() 為管理任務(wù)和行為,傳遞實(shí)例擴(kuò)展。
(2)任務(wù)實(shí)例 TaskInstance
TaskInstance taskInstance = (TaskInstance)processInstance.getTaskMgmtInstance().getTaskInstances().iterator.next();
(3)taskInstance對(duì)用有actId
5.定制行為例子:
主要展示:
(1)actions是綁定特定java代碼到j(luò)Bpm流程的一種機(jī)制。actions可以被用來(lái)連接它自己的節(jié)點(diǎn)。actions可以替代事件(轉(zhuǎn)變、進(jìn)入、離開(kāi)一個(gè)節(jié)點(diǎn))。
(2)actionHanlder 要實(shí)現(xiàn)ActionHandler接口。 ActionHandler接口定義了一個(gè)方法execute(ExecutionContext executionContext) 。
聯(lián)系客服