アクティビティ7
Java SpringBoot は Activiti7 ワークフローを統合します
この記事のプロジェクト デモのアドレスは記事の最後に添付されています
公式サイトホームページ: http: //activiti.org
導入
Activiti
は、ビジネス プロフェッショナル、開発者、システム管理者向けの軽量ワークフローおよびビジネス プロセス管理 (BPM) プラットフォームです。その中心となるのは、Java
非常に高速で堅牢なBPMN 2
作成エンジンです。これはオープンソースであり、Apache
ライセンスに基づいて配布されます。Activiti
任意の Java アプリケーション、サーバー、クラスター、またはクラウドで実行します。Spring と完全に統合されており、非常に軽量で、シンプルなコンセプトに基づいています。
プロジェクトの統合
依存関係を導入する
<!-- Activiti7依赖 -->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter</artifactId>
<version>7.1.0.M6</version>
</dependency>
<dependency>
<groupId>org.activiti.dependencies</groupId>
<artifactId>activiti-dependencies</artifactId>
<version>7.1.0.M6</version>
<type>pom</type>
</dependency>
YML設定ファイル
server:
port: 8600
spring:
application:
name: activity7
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
url: jdbc:mysql://127.0.0.1:3306/activiti7?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&nullCatalogMeansCurrent=true
username: root
password:
driverClassName: com.mysql.cj.jdbc.Driver
# activiti7配置
activiti:
# 自动部署验证设置:true-开启(默认)、false-关闭
check-process-definitions: false
# 保存历史数据
history-level: full
# 检测历史表是否存在
db-history-used: true
# 关闭自动部署
deployment-mode: never-fail
database-schema-update: true
# 解决频繁查询SQL问题
async-executor-activate: false
構成クラス
import org.activiti.api.runtime.shared.identity.UserGroupManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.List;
@Configuration
public class ActivitiSpringIdentityAutoConfiguration {
@Bean
public UserGroupManager userGroupManager() {
return new UserGroupManager() {
@Override
public List<String> getUserGroups(String s) {
return new ArrayList<>();
}
@Override
public List<String> getUserRoles(String s) {
return null;
}
@Override
public List<String> getGroups() {
return null;
}
@Override
public List<String> getUsers() {
return null;
}
};
}
}
スタートアッププロジェクトのテーブル構造の生成
画出来的就是开始创建表结构
Activiti のデータベースのサポート
Activiti は実行時にデータベースのサポートを必要とし、25 のテーブルを使用してプロセス定義ノードの内容をデータベース テーブルに読み取り、後で使用できるようにします。
activiti がサポートするデータベースとバージョンは次のとおりです。
データベースの種類 | バージョン | JDBC接続例 | 説明する |
---|---|---|---|
h2 | 1.3.168 | jdbc:h2:tcp://localhost/activiti | デフォルトで構成されたデータベース |
mysql | 5.1.21 | jdbc:mysql://localhost:3306/activiti?autoReconnect=true | mysql-connector-java を使用してテストを実行する |
オラクル | 11.2.0.1.0 | jdbc:oracle:thin:@localhost:1521:xe | |
ポストグレ | 8.1 | jdbc:postgresql://localhost:5432/activiti | |
db2 | db2jcc4 を使用した DB2 10.1 | jdbc:db2://localhost:50000/activiti | |
mssql | 2008 sqljdbc4 を使用 | jdbc:sqlserver://localhost:1433/activiti |
アクティビティデータテーブルの紹介
テーブルの分類 | テーブル名 | 説明する |
---|---|---|
一般的なデータ | ||
[ACT_GE_BYTEARRAY] | 一般的なプロセス定義とプロセス リソース | |
[ACT_GE_PROPERTY] | システム関連のプロパティ | |
プロセス履歴 | ||
[ACT_HI_ACTINST] | 過去のプロセスの例 | |
[ACT_HI_ATTACHMENT] | 履歴プロセスの添付ファイル | |
[ACT_HI_COMMENT] | 歴史的な説明情報 | |
[ACT_HI_DETAIL] | プロセス実行の履歴に関する詳細情報 | |
[ACT_HI_IDENTITYLINK] | 履歴プロセス実行中のユーザー関係 | |
[ACT_HI_PROCINST] | 過去のプロセスの例 | |
[ACT_HI_TASKINST] | 履歴タスクの例 | |
[ACT_HI_VARINST] | 実行中の履歴プロセスの可変情報 | |
プロセス定義テーブル | ||
[ACT_RE_DEPLOYMENT] | 展開ユニット情報 | |
[ACT_RE_MODEL] | 機種情報 | |
[ACT_RE_PROCDEF] | デプロイされたプロセス定義 | |
インスタンステーブルを実行する | ||
[ACT_RU_EVENT_SUBSCR] | ランタイムイベント | |
[ACT_RU_実行] | ランタイムプロセス実行インスタンス | |
[ACT_RU_IDENTITYLINK] | 実行時のユーザー関係情報、タスク ノードと参加者に関する情報の保存 | |
[ACT_RU_JOB] | ランタイムジョブ | |
[ACT_RU_TASK] | ランタイムタスク | |
[ACT_RU_VARIABLE] | ランタイム変数テーブル |
プロジェクトデモのアドレス:
送信: 「ワークフロー アイテムを取得」してダウンロードします