您的位置:首页 > 其它

流程部署

2017-06-17 13:56 68 查看

流程部署

标签(空格分隔): activiti

使用XML形式部署流程代码如下:

public class DeployProcdef {

/**

* 获取默认流程引擎实例,会自动读取activiti.cfg.xml文本

*/

private ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();

/**
* 部署流程定义
*/
@Test
public void deployWithClassPath(){
Deployment deployment=processEngine.getRepositoryService()//获取部署相关Service
.createDeployment() //创建部署对象
.addClasspathResource("diagrams/HelloWorld.bpmn") //加载资源文件
.addClasspathResource("diagrams/HelloWorld.png")
.name("HelloWorld流程")
.deploy(); //部署

System.out.println("流程部署ID:"+deployment.getId());
System.out.println("流程部署Name:"+deployment.getName());
}


}

上述方法进行单元测试,得到结果如下:

流程部署ID:12501

流程部署Name:HelloWorld流程。

查看表:SELECT * FROM db_activiti.act_re_procdef;

发现多条数据中字段KEY保持不变,为流程ID,VERSION递增,DEPLOYMENTID即为流程部署ID。说明每部署一次流程,这个表就会生成一条新的数据。

部署流程的另一种方式就是使用ZIP方式进行部署,代码如下:

/*

* 使用ZIP方式部署流程定义

*/

@Test

public void deployWithZip(){

InputStream inputSteam=this.getClass() //取得当前class对象

.getClassLoader() //取得类加载器

.getResourceAsStream(“diagrams/helloWorld.zip”);//获取指定文件资源流

ZipInputStream zipInputStream=new ZipInputStream(inputSteam);

Deployment deployment=processEngine.getRepositoryService()//获取部署相关Service
.createDeployment() //创建部署对象
.addZipInputStream(zipInputStream) //添加zip输入流
.name("HelloWorld流程")
.deploy();  //部署

System.out.println("使用ZIP方式流程部署ID:"+deployment.getId());
System.out.println("使用ZIP方式流程部署Name:"+deployment.getName());
}


代码中引入的ZIP包是diagrams/HelloWorld.bpmn和diagrams/HelloWorld.png这两个路径下的文件进行压缩并放在diagram/目录下的。先使用流的形式对其进行导入,再使用工作流的接口进行部署。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息