使用Activiti提供的API完成流程操作

时间:2022-06-22 08:25:47

标签:

可以在项目中加入log4j,将logj4.properties文件拷入到src目录下,,这样框架执行的sql就可以输出到到控制台,log4j提供的日志级别有以下几种:

Fatal  error  warn  info  debug  trace

一、部署流程定义

1,在工程项目下创建源码文件夹process

2,在该文件下下面新创建一个工作流流程定义文件test1.bpmn(NewàActivit Diagram)

3,在test1.bpmn文件定义请假流程或者是报销流程

4,测试代码

[java]  

 

 

 

 

使用Activiti提供的API完成流程操作

使用Activiti提供的API完成流程操作

public class ActivitiAPI {  

   //首先获得默认的流程引擎,在创建时会自动加载classpath下得activiti.cfg.xml或者是activiti-context.xml  

   ProcessEngine processEngine= ProcessEngines.getDefaultProcessEngine();  

   /** 

     * 1.部署流程定义 

     * 会在三张表中产生数据: 

      * act_ge_bytearray 产生两条数据 

     *act_re_deployment 产生一条数据 

     *act_re_procdef 产生一条数据 

    * 方式一:读取单个的流程定义文件 

    * 方式二:读取zip压缩文件 

    */  

   @Test  

   public void deploy() {  

      // 获取仓库服务并创建发布配置对象  

      DeploymentBuilder deploymentBuilder = processEngine  

            .getRepositoryService().createDeployment();  

      // 方式一:设置发布信息  

      deploymentBuilder.name("请假流程部署");//添加部署规则的名称  

// 读取单个的流程定义文件  

      deploymentBuilder.addClasspathResource("test1.bpmn");  

// 添加规则图片  不添加会自动产生一个图片不推荐  

      deploymentBuilder.addClasspathResource("test1.png");  

      Deployment  

      deployment =deploymentBuilder.deploy();  

   

      // 方式二:读取zip压缩文件  

      /*ZipInputStream zipInputStream = new ZipInputStream(this.getClass() 

   .getClassLoader().getResourceAsStream("process.zip")); 

      deploymentBuilder.addZipInputStream(zipInputStream); 

      Deployment deployment =deploymentBuilder.deploy();*/  

   }  

   }  

部署流程定义步骤:

  1)     首先获得默认的流程引擎getDefaultProcessEngine(),在创建时会自动加载classpath下得activiti-context.xml或者是activiti.cfg.xml

  2)     通过流程引擎获取了一个RepositoryService对象也就是仓库服务对象

  3)     由仓库的服务对象创建一个部署对象配置对象,用来封装部署环境的相关配置。

  4)     这是一个链式编程,在部署配置对象中设置显示名,上传规则文件相对classpath的地址。

  5)     部署,也是往数据库中存储流程定义的过程。

  6)     这一步在数据库中将操作三张表:

    a)     act_re_deployment

     存放流程定义的显示名和部署时间,每部署一次增加一条记录

    b)     act_re_procdef

     存放流程定义的属性信息,部署每个新的流程定义都会在这张表中增加一条记录。

    c)     act_ge_bytearray