String deploymentId = repositoryService.createDeployment()
.addResourceFromClasspath(
"com/examples/jbpm4/n2_3_4/process.jpdl.xml").deploy();
多次調用addResourceFromClasspath将流程定義的其他資源都部署到資料庫中
addResourceFrom*** 流程定義可以從檔案、Web URL、字元串、輸入流或Zip流中擷取
部署後擷取一個關聯的Key
ProcessEngine是所有Service API之源
任務服務API
主要目的是提供對任務清單的通路操作,Task活動産生的人機互動業務
流程啟動變量
ExecutionService提供了操作具體流程變量的方法
TaskService也有,操作的是任務綁定的流程變量,HistoryService
流程運作中,Execution接口對象有提供操作流程變量的方法
使用表單幫助工作流引擎擷取使用者的輸入
使用表單,可以通過form屬性将表單綁定在Task活動或start活動上
<start form=”/com/example/jbpm4/taskform/request_vacation.ftl” name=”start”>
<task form=”/…/verify.ftl”>
提供兩套:
IdentitySessionImpl:預設,使用的是jbpm4_id_user jbpm4_id_group jbpm4_id_membership
JBossIdmIdentitySessionImpl: 和JBOSS的內建身份驗證
自定義的形式
1、 删除jbpm.cfg.xml中的<import resource=”jbpm.identity.cfg.xml”
2、 在jbpm.cfg.xml加入
<transaction-context>
<object class=”yourpackage.YourIdentitySessionImpl”/>
</transaction-context>
實作 org.jbpm.pvm.internal.identity.spi.IdentitySession接口,同時需要實作User Group接口
具體實作參考預設帶的兩個如IdentitySessionImpl.java
<a href="https://anosvn.jboss.org/repos/jbpm/jbpm4">https://anosvn.jboss.org/repos/jbpm/jbpm4</a>
詳細可以參考: 《jBPM工作流應用開發指南》代碼