jbpm5.1介紹(4)
eclipse外掛
需求 Eclipse的3.6或更新版本
Graphiti框架,使用更新站點
可以直接下載更新Graphiti
http://download.eclipse.org/graphiti/updates/0.7.1/
更新bpmn2.0外掛
也可以直接從網站上下載後到本地更新,下載地址
https://github.com/droolsjbpm/bpmn2-eclipse-editor
使用eclipse建立hellojbpm
開啟eclipse,新建jbpm project
輸入工程名,然後都是下一步
最後完成,工程就建立完成了。
修改流程定義
加入兩個Script Task,然後修改其屬性,點選節點然後在下方面板中修改屬性
在Action加入要執行的程式碼,可以是java也可以是Mvel角本
加完之後,可以看到流程如下圖
執行測試流程,流程將直接走到結束並且經過兩個Script Task並且輸出內容
public class ProcessTest { public static final void main(String[] args) { try { // load up the knowledge base KnowledgeBase kbase = readKnowledgeBase(); StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test"); // start a new process instance ksession.startProcess("com.sample.bpmn.hello"); logger.close(); } catch (Throwable t) { t.printStackTrace(); } } private static KnowledgeBase readKnowledgeBase() throws Exception { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newClassPathResource("sample.bpmn"), ResourceType.BPMN2); return kbuilder.newKnowledgeBase(); } }
執行可看到結果
Hello jbpm5
自動化的流程向下走
使用eclipse建立hellojbpm
開啟eclipse,將示例工程匯入,示例工程路徑jbpm-installer/sample/evaluation
這是一個員工添寫自我評價並且需要人力資源和專案經理審批的示例,中間有兩個閘道器都是AND,就是表示必須是人力資源和專案經理全部評價完成流程才算結束。
員工:krisv
人力資源:mary
專案經理:john
看下圖:
首先執行工程中的示例,開始流程
在view中選出Human task view
流程開始的時候,krisv開始添寫自我評價,這時到human task view中可以看到狀態
輸入krisv並且重新整理
可以看到自己要處理的流程
點選start,則流程進入到inprogress狀態,點選complete,則流程結束
完成之後進入一個分支節點,這個結點用的是AND就是隻有當人事經理和專案經理全部稽核通過後流程才算結束
我們在human task view輸入mary,則出現mary的待辦列表
流程處理狀態同krisv,也可以輸入john看一下,每個人都有對應的要處理的任務列表,比較直觀的就能看到要處理的結果。
只有當兩個流程全部結束流程才算結束。
通過上面的示例我們看到了使用人工結點,也可以在結束前或者流程中加入Script Task,以處理在不同的時刻狀態的變化。