您的位置:首页 > 其它

【入门篇】Activiti流程部署两种方法

2017-10-23 20:46 447 查看
需求

  将绘制好的工作流程图,进行部署定义,这里有两种方法

首先创建processEngine

//创建processEngine
private ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
方法一:

单个文件部署流程,直接操作绘制好的bpmn和png文件资源,代码如下:

public void deployment(){
//使用RespositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();
//部署bpmn文件和png文件
//bpmn文件名
String resourceName_bpmn = "purchasingflow01.bpmn";
InputStream inputStream_bpmn = this.getClass().getClassLoader().getResourceAsStream("diagram/purchasingflow01.bpmn");

//bpmn文件名
String resourceName_png = "purchasingflow01.png";
InputStream inputStream_png = this.getClass().getClassLoader().getResourceAsStream("diagram/purchasingflow01.png");

//部署对象
Deployment deployment = repositoryService.createDeployment()
.addInputStream(resourceName_bpmn, inputStream_bpmn)//部署bpmn
.addInputStream(resourceName_png, inputStream_png)//部署png
.deploy();
//部署id
System.out.println("部署id:"+deployment.getId());
System.out.println("部署时间:" + deployment.getDeploymentTime());
}
方法二:

压缩包部署方法,将绘制好的bpmn和png资源压缩为zip,后期部署的时候,直接读取zip文件完成流程部署,代码如下:

public void deployProcessByZip(){
//定义zip输入流
InputStream inputStream = this
.getClass()
.getClassLoader()
.getResourceAsStream("cn/itcast/activiti/first/purchasingflow.zip");
ZipInputStream zipInputStream = new ZipInputStream(inputStream);
//获取repositoryService
RepositoryService repositoryService = processEngine
.getRepositoryService();
//流程部署
Deployment deployment = repositoryService.createDeployment()
.addZipInputStream(zipInputStream)
.deploy();
System.out.println("流程部署id:" + deployment.getId());
System.out.println("流程部署名称:" + deployment.getName());

}

本人工程文件资源和java类目录结构如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: