@Autowired
ProcessEngine processEngine;
@Before
public void init(){
String basePath = System.getProperty("user.dir").replace("\\", "/");
basePath = basePath.concat("/deploy/webfile/");
FileUtils.setBasePath(basePath);
System.out.println("設(shè)置文件基礎(chǔ)路徑:"+basePath);
}
/**
* Title:startProcess
* @Description: 采購(gòu)申請(qǐng)單流程部署
* return:void
* @author Temple
* @Date 2020年6月5日上午11:23:27
*/
@Test
public void startProcess() throws Exception {
FileInputStream bpmnfileInputStream = FileUtils.getInputStream("diagrams/simpleProcess/PurchaseOrder.bpmn");
FileInputStream pngfileInputStream = FileUtils.getInputStream("diagrams/simpleProcess/PurchaseOrder.png");
Deployment deployment = processEngine.getRepositoryService()// 獲取流程定義和部署對(duì)象相關(guān)的Service
.createDeployment()// 創(chuàng)建部署對(duì)象
.name("采購(gòu)申請(qǐng)單")// 聲明流程的名稱
.addInputStream("PurchaseOrder.bpmn", bpmnfileInputStream)// 加載資源文件坡疼,一次只能加載一個(gè)文件
.addInputStream("PurchaseOrder.png", pngfileInputStream)//
.deploy();// 完成部署
System.out.println("部署ID:" + deployment.getId()+"部署中");// 1
System.out.println("部署時(shí)間:" + deployment.getDeploymentTime());
}
/** 啟動(dòng)流程實(shí)例 */
/* @Test
public void startProcessInstance() {
// 流程定義的key
String processDefinitionKey = "PurchaseOrder";
ProcessInstance pi = processEngine.getRuntimeService()// 與正在執(zhí)行的流程實(shí)例和執(zhí)行對(duì)象相關(guān)的Service
.startProcessInstanceByKey(processDefinitionKey);// 使用流程定義的key啟動(dòng)流程實(shí)例易遣,key對(duì)應(yīng)helloworld.bpmn文件中id的屬性值茎刚,使用key值啟動(dòng)霸旗,默認(rèn)是按照最新版本的流程定義啟動(dòng)
System.out.println("流程實(shí)例ID:" + pi.getId());// 流程實(shí)例ID 101
System.out.println("流程定義ID:" + pi.getProcessDefinitionId());// 流程定義ID
// helloworld:1:4
}*/
這樣就可以直接部署
act_re_procdef 流程定義數(shù)據(jù)表 可以看到key值 直接啟動(dòng)流程
act_re_deployment 部署信息表 這個(gè)表可以看到你是否成功儡毕,還有注意JUnit是否報(bào)錯(cuò)
其他表 用得到的可以用act的表 用不到可以自己建立屬于自己系統(tǒng)的表
1.學(xué)習(xí)之前的準(zhǔn)備工作
2.流程圖
3.主要表說(shuō)明
4.流程部署
5.完整流程