springboot2整合Activiti7

【1】初識activiti

1.1. 工作流與工作流引擎

工作流工作流(workflow)就是工作流程的計算模型,將部分或者全部的工作流程、邏輯讓計算機幫你來處理,實現自動化

工作流引擎是指workflow作爲應用系統的一部分,併爲之提供對各應用系統有決定作用的根據角色、分工和條件的不同決定信息傳遞路由、內容等級等核心解決方案。

1.2. BPMN2.0規範

BPMN --業務流程模型與符號。

BPMN是一套流程建模的標準,主要目標是被所有業務用戶容易理解的符號,支持從創建流程輪廓的業務分析到這些流程的最終實現,知道最終用戶的管理監控。

通俗一點其實就是一套規範,畫流程模型的規範。流程模型包括:流程圖、協作圖、編排圖、會話圖

【2】activiti概述

Activiti是一個開源的工作流引擎,它實現了BPMN 2.0規範,可以發佈設計好的流程定義,並通過api進行流程調度。其核心是基於 JAVA 的超快速、超穩定的 BPMN2.0 流程引擎,強調流程服務的可嵌入性和可擴展性,同時更加強調面向業務人員。

Activiti 流程引擎重點關注在系統開發的易用性和輕量性上。每一項 BPM 業務功能 Activiti 流程引擎都以服務的形式提供給開發人員。通過使用這些服務,開發人員能夠構建出功能豐富、輕便且高效的 BPM 應用程序。

【3】activiti的使用

準備

activiti整合eclipse插件

線上安裝地址是:http://www.activiti.org/designer/update/

【4】代碼

  1.1  pom.xml文件配置

   <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>com.activiti</groupId>

  <artifactId>activiti-examples</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <parent>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-starter-parent</artifactId>

           <version>2.1.0.RELEASE</version>

           <relativePath/> <!-- lookup parent from repository -->

 </parent>

  <properties>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <java.version>1.8</java.version>

  </properties>

  <dependencies>

        <dependency>

            <groupId>org.activiti</groupId>

            <artifactId>activiti-engine</artifactId>

            <version>7-201802-EA</version>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-data-jpa</artifactId>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>

        <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

            <scope>runtime</scope>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-test</artifactId>

            <scope>test</scope>

        </dependency>

    </dependencies>

</project>


1.2  ActivitiConfig.java

/**

 * 使用Java類完成配置文件

 *

 * @author 架構師那些事

 */

@Configuration

public class ActivitiConfig {

     @Autowired

     private DataSource dataSource;

     /**

      * 初始化配置,將創建25張表

      *

      * @return

      */

     @Bean

     public StandaloneProcessEngineConfiguration processEngineConfiguration() {

           StandaloneProcessEngineConfiguration configuration = new StandaloneProcessEngineConfiguration();

           configuration.setDataSource(dataSource);

           configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);

           configuration.setAsyncExecutorActivate(false);

           return configuration;

     }

    /**

     * 創建引擎

     * @return ProcessEngine

     */

     @Bean

     public ProcessEngine processEngine() {

           return processEngineConfiguration().buildProcessEngine();

     }

}

1.3 application.yml 文件中配置mysql數據源

spring:

  datasource:

    url: jdbc:mysql://localhost:3306/activiti?useSSL=true&characterEncoding=UTF-8&serverTimezone=UTC&nullCatalogMeansCurrent=true

    username: root

    password: 123456

  activiti:

    check-process-definitions: false

    database-schema-update: true


1.4 在本地創建數據庫名爲 activiti


1.5  ActivitiApplication.java 文件

@SpringBootApplication

public class ActivitiApplication {

    public static void main(String[] args) {

        SpringApplication.run(ActivitiApplication.class, args);

    }

}


【5】啓動項目,Activiti引擎將自動幫你創建25張表 如下圖:

image.png


完畢,謝謝~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章