• Activiti_简单使用


    一:activiti简介

    二:activiti使用

     1.IDEA使用activiti 插件(用于绘制流程图)

      在IDEA安装activiti插件

      

      在resource目录下新建actiBPM文件

      

      绘制*.bpmn文件:

      

      改名为*.xml文件,并打开:

      

      生成*.png图片:

      

     2.示例springboot集成activiti

      添加数据库连接配置:

    spring.datasource.driverClassName = com.mysql.jdbc.Driver
    spring.datasource.url=jdbc:mysql://172.18.179.131:3306/mysql
    spring.datasource.username = root
    spring.datasource.password = root
    spring.datasource.max-active=20
    spring.datasource.max-idle=8
    spring.datasource.min-idle=8
    spring.datasource.initial-size=10

      添加pom依赖:

    <!--activiti依赖-->
    <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>activiti-spring</artifactId>
        <version>6.0.0</version>
    </dependency>
    <!--mysql驱动依赖-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.6</version>
    </dependency>
    <!--连接池依赖-->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.0.19</version>
    </dependency>

      添加数据库连接池初始化:

    package com.zcx.springstudy.config;
    
    import com.alibaba.druid.pool.DruidDataSource;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Bean;
    import org.springframework.core.env.Environment;
    import org.springframework.jdbc.datasource.DataSourceTransactionManager;
    
    import javax.sql.DataSource;
    
    @Configuration
    public class DruidConfiguration { @Autowired Environment env; /** * 数据源:配置DruidDataSource * @return */ @Bean public DataSource dataSource() { DruidDataSource ds = new DruidDataSource(); ds.setUrl(env.getProperty("spring.datasource.url")); ds.setDriverClassName(env.getProperty("spring.datasource.driverClassName")); ds.setPassword(env.getProperty("spring.datasource.password")); ds.setUsername(env.getProperty("spring.datasource.username")); ds.setInitialSize(2);//初始化时建立物理连接的个数 ds.setMaxActive(20);//最大连接池数量 ds.setMinIdle(0);//最小连接池数量 ds.setMaxWait(60000);//获取连接时最大等待时间,单位毫秒。 ds.setValidationQuery("SELECT 1");//用来检测连接是否有效的sql ds.setTestOnBorrow(false);//申请连接时执行validationQuery检测连接是否有效 ds.setTestWhileIdle(true);//建议配置为true,不影响性能,并且保证安全性。 ds.setPoolPreparedStatements(false);//是否缓存preparedStatement,也就是PSCache return ds; } /** * 事务:配置DataSourceTransactionManager * @param dataSource * @return */ @Bean("dataSourceTransactionManager") public DataSourceTransactionManager dataSourceTransactionManager(DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } }

      添加acitiviti引擎及自动部署:

    package com.zcx.springstudy.config;
    
    import org.activiti.engine.*;
    import org.activiti.spring.SpringProcessEngineConfiguration;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.core.io.Resource;
    import org.springframework.core.io.ResourceLoader;
    import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
    import org.springframework.jdbc.datasource.DataSourceTransactionManager;
    
    import javax.sql.DataSource;
    import java.io.IOException;
    
    @Configuration
    public class ActivitiConfuguration {
        @Bean
        public ProcessEngine processEngine(DataSourceTransactionManager transactionManager, DataSource dataSource) throws IOException {
            SpringProcessEngineConfiguration configuration = new SpringProcessEngineConfiguration();
            //自动部署已有的流程文件
            Resource[] resources = new PathMatchingResourcePatternResolver().getResources(ResourceLoader.CLASSPATH_URL_PREFIX + "diagrams/*.png");
            configuration.setTransactionManager(transactionManager);
            configuration.setDataSource(dataSource);
            configuration.setDatabaseSchemaUpdate("true");
            configuration.setDeploymentResources(resources);
            configuration.setDbIdentityUsed(false);
            return configuration.buildProcessEngine();
        }
    
        @Bean
        public RepositoryService repositoryService(ProcessEngine processEngine) {
            return processEngine.getRepositoryService();
        }
    
        @Bean
        public RuntimeService runtimeService(ProcessEngine processEngine) {
            return processEngine.getRuntimeService();
        }
    
        @Bean
        public TaskService taskService(ProcessEngine processEngine) {
            return processEngine.getTaskService();
        }
    
        @Bean
        public HistoryService historyService(ProcessEngine processEngine) {
            return processEngine.getHistoryService();
        }
    
        @Bean
        public ManagementService managementService(ProcessEngine processEngine) {
            return processEngine.getManagementService();
        }
    
        @Bean
        public IdentityService identityService(ProcessEngine processEngine) {
            return processEngine.getIdentityService();
        }
    }

      启动类:

    package com.zcx.springstudy;
    
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.web.bind.annotation.RestController;
    
    @SpringBootApplication
    @RestController
    @MapperScan("com.zcx.springstudy")
    public class SpringStudyApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(SpringStudyApplication.class, args);
        }
    
    }

      启动类:

     1.IDEA添加activiti 插件

  • 相关阅读:
    感受MapXtreme2004之三:
    GIS集成技术之四:Office, AutoCAD, MatLab集成
    GIS集成技术之二:三库集成
    SQL日期格式化应用大全
    .net中的windows service与服务操作
    大小写转换
    sql系统表syscolumns中 xtype 所有值对应的类型名称
    在.net中读写config文件的各种方法
    VS.NET打包安装
    C#数字格式化输出
  • 原文地址:https://www.cnblogs.com/chunxiaozhang/p/11201817.html
Copyright © 2020-2023  润新知