activiti使用

 

1:配置文件方式加载数据库配置
activiti.cfg.xml
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
    <!-- 配置 ProcessEngineConfiguration  -->
    <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
        <!-- 配置数据库连接 -->
        <property name="jdbcDriver" value="com.mysql.cj.jdbc.Driver"></property>
        <property name="jdbcUrl" value="jdbc:mysql://192.168.0.100:3306/activiti?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=utf8"></property>
        <property name="jdbcUsername" value="root"></property>
        <property name="jdbcPassword" value="123456"></property>
        <!-- 配置创建表策略 :没有表时,自动创建 -->
        <property name="databaseSchemaUpdate" value="true"></property>
    </bean>
</beans>
 
@BeforeClass
public static void createActivitiEngineByConfig() {
    /**2. 通过加载 activiti.cfg.xml 获取 流程引擎 和自动创建数据库及表*/
    ProcessEngineConfiguration engineConfiguration =
            ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
    //从类加载路径中查找资源  activiti.cfg.xm文件名可以自定义
    processEngine = engineConfiguration.buildProcessEngine();
    System.out.println("使用配置文件Activiti.cfg.xml获取流程引擎");
}

2:流程定义

2.1:eclipse 流程小插件

https://www.cnblogs.com/shanheyongmu/p/8417272.html

 

3:表定义

table备注
act_re_procdef

流程定义表

存放流程定义的属性信息,部署每个新的流程定义都会在这张表中增加一条记录。
注意:当流程定义的key相同的情况下,使用的是版本升级

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

 

4:发布流程

    @Test
    public void deploy() {
        //获取仓库服务 :管理流程定义
        RepositoryService repositoryService = processEngine.getRepositoryService();
        Deployment deploy = repositoryService.createDeployment()//创建一个部署的构建器
                .addClasspathResource("processes/first.bpmn")//从类路径中添加资源,一次只能添加一个资源
                .name("请假单流程")//设置部署的名称
                .category("办公类别")//设置部署的类别
                .deploy();
        System.out.println("部署的id" + deploy.getId());
        System.out.println("部署的名称" + deploy.getName());
        System.out.println("部署的key" + deploy.getKey());

//        ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().deploymentId(deploy.getId()).singleResult();
//        System.out.println("部署的key" + definition.getKey());
    }

5:执行流程

    @Test
    public void startProcess() {
        String processDefiKey = "first_act";
        //取运行时服务
        RuntimeService runtimeService = processEngine.getRuntimeService();
//        ProcessDefinition defi = processEngine.createProcessDefinitionQuery().deploymentId(de.getId()).singleResult();
//        ProcessInstance pi = runtimeService.startProcessInstanceByKey(defi.getKey());
        //取得流程实例
        ProcessInstance pi = runtimeService.startProcessInstanceByKey(processDefiKey, "test");//通过流程定义的key 来执行流程
        System.out.println("流程实例id:" + pi.getId());//流程实例id
        System.out.println("流程定义id:" + pi.getProcessDefinitionId());//输出流程定义的id
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值