• spring boot activiti 整合


    1.pom.xml

    <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>activiti-spring-boot-starter-basic</artifactId>
        <version>5.22.0</version>
    </dependency>
    

    2. resources目录下新建processes文件夹放一个xxx.bpmn流程文件

    3. java config方式配置:config.activiti下新建一个类ActivitiConfig:

    其中数据源和事务管理器在3.spring boot mybatis druid多数据源里已经配置完,直接引用名字注入就可以了.

    package com.yunchuang.config.activiti;
    import org.activiti.spring.SpringAsyncExecutor;
    import org.activiti.spring.SpringProcessEngineConfiguration;
    import org.activiti.spring.boot.AbstractProcessEngineAutoConfiguration;
    import org.springframework.beans.factory.annotation.Qualifier;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.transaction.PlatformTransactionManager;
    import javax.sql.DataSource;
    import java.io.IOException;
    /**
     * activiti配置文件
     * AbstractProcessEngineAutoConfiguration在activiti-spring-boot-starter-basic下
     *
     * @author 尹冬飞
     * @create 2017-04-10 10:30
     */
    @Configuration
    public class ActivitiConfig extends AbstractProcessEngineAutoConfiguration {
        static final String NAME = "master";
        //注入数据源和事务管理器
        @Bean
        public SpringProcessEngineConfiguration springProcessEngineConfiguration(
                @Qualifier(NAME + "DataSource") DataSource dataSource,
                @Qualifier(NAME + "TransactionManager") PlatformTransactionManager transactionManager,
                SpringAsyncExecutor springAsyncExecutor) throws IOException {
            return this.baseSpringProcessEngineConfiguration(dataSource, transactionManager, springAsyncExecutor);
        }
    }
    

    4.这样就可以直接调用相关的service了.测试代码:

    package com.yunchuang;
    import org.activiti.engine.RuntimeService;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class Demo8ApplicationTests {
        @Autowired
        RuntimeService runtimeService;
        @Test
        public void contextLoads() {
            long count = runtimeService.createProcessInstanceQuery()
                    .count();
            System.out.println(count);
        }
    }
    
    原文地址:https://www.jianshu.com/p/6c9882693f35
  • 相关阅读:
    docker部署springBoot项目
    linux下查看文件内容命令
    nohup后台运行jar与关闭
    nohup优化输出nohup.out日志信息
    Go 精妙的互斥锁设计
    ts找不到全局对象,报错:Cannot find name '__dirname
    定义vscode终端主题色
    element-ui按需引入报错Cannot find module 'babel-preset-es2015' 及多组件引入报错
    c# UWP 墨迹 手写识别
    c# yield return
  • 原文地址:https://www.cnblogs.com/jpfss/p/11084497.html
Copyright © 2020-2023  润新知