流程部署

流程部署

标签(空格分隔): 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/目录下的。先使用流的形式对其进行导入,再使用工作流的接口进行部署。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值