【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张表 以下图:
完毕,谢谢~~