【1】初識activitijava
1.1. 工做流與工做流引擎mysql
工做流工做流(workflow)就是工做流程的計算模型,將部分或者所有的工做流程、邏輯讓計算機幫你來處理,實現自動化web
工做流引擎是指workflow做爲應用系統的一部分,併爲之提供對各應用系統有決定做用的根據角色、分工和條件的不一樣決定信息傳遞路由、內容等級等核心解決方案。spring
1.2. BPMN2.0規範sql
BPMN --業務流程模型與符號。數據庫
BPMN是一套流程建模的標準,主要目標是被全部業務用戶容易理解的符號,支持從建立流程輪廓的業務分析到這些流程的最終實現,知道最終用戶的管理監控。apache
通俗一點其實就是一套規範,畫流程模型的規範。流程模型包括:流程圖、協做圖、編排圖、會話圖api
【2】activiti概述架構
Activiti是一個開源的工做流引擎,它實現了BPMN 2.0規範,能夠發佈設計好的流程定義,並經過api進行流程調度。其核心是基於 JAVA 的超快速、超穩定的 BPMN2.0 流程引擎,強調流程服務的可嵌入性和可擴展性,同時更增強調面向業務人員。app
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:
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張表 以下圖:
完畢,謝謝~~