zoukankan      html  css  js  c++  java
  • spring boot(2):activiti整合

    原创不易,注明出处。

    简单介绍

    activiti基于apcahe开源协议的业务流程管理(BPM)引擎,引擎的核心目标是采用人工和系统调用组成的流程定义,并按一定顺序执行这些流程定义。activiti是一个轻量级的框架,但它可以在任何规模下工作,可执行几十到几千甚至百万个流程。

    activiti的开源地址:https://github.com/Activiti/Activiti  ,各位小伙伴们可以前往下载到本地学习。activiti可以通过画流程图来定义,符合BPMN2.0标准(什么是BPMN?百度百科),非常直观,自动生成XML文件。

    好了,我们说了那么多,我们开始进入正题。

    我们知道spring boot 是约定优于配置,大家应该很明白这是什么意思吧。activiti在spring boot 下配置是相当简单的,开箱即用,使用数据库是因为流程可以在几秒甚至跨越到几年后执行。

    <properties>
    <activiti.version>5.17.0</activiti.version>
    <mysql.version>5.1.45</mysql.version>
       <lombok.version>1.16.20</lombok.version>
    </properties>
    <dependencies>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    </dependency>

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    </dependency>

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>${lombok.version}</version>
    </dependency>
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>${mysql.version}</version>
    </dependency>
    </dependencies>

    创建src/main/resources/processes文件夹,用来保存流程定义,程序会自动部署到activiti引擎中。
    image

    我们来宣言一个简单的流程,使用idea来生成流程定义,

    image
    画一个简单的流程图。
    image
    创建一个简单的单元测试


    image


    自动生成24张表。


    image

    整合activiti explorer

    image


    配置数据源:

    spring.jpa.properties.hibernate.hbm2ddl.auto=update
    spring.jpa.database=default
    spring.datasource.jdbc-url=jdbc:mysql://localhost:3306/springboot_activiti?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8

    spring.datasource.username=root
    spring.datasource.password=root
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver


    现在就可以使用activiti了。

  • 相关阅读:
    贪心法之活动安排问题
    动态规划算法之最优二叉搜索树
    动态规划之最大字段和问题
    动态规划算法之图像压缩问题
    动态规划算法之0-1背包问题
    动态规划算法之投资问题
    平面点集的凸包问题
    动态规划(DP)之多边形游戏问题
    凸多边形最优三角划分
    最长公共子序列问题
  • 原文地址:https://www.cnblogs.com/javalittleman/p/9434546.html
Copyright © 2011-2022 走看看