激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring Boot中使用activiti的方法教程(一)

Spring Boot中使用activiti的方法教程(一)

2021-05-24 14:08jdon Java教程

最近一直研究springboot,下面這篇文章主要給大家介紹了關于Spring Boot中使用activiti的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧

前言

activiti api是一個工作流程(workflow)和業務流程管理(bpm)系統,可以定義流程、執行流程并以不同方式對其實現運行。使用api??的開發可以在任何ide中完成,但是要使用activiti designer需要eclipse,idea中使用actibpm插件。

定義流程有幾種方式:

1. 使用bpmn 2.0標準在定義一個流程xml。

2. 使用startevent,endevent,usertask,sequenceflow等java類。

如果我們想要運行進程或訪問任何服務,需要首先創建processengineconfiguration。也就是說,processengineconfiguration是使用activiti api的起始之點,使用這個類也可獲得流程引擎,然后就可以執行工作流和bpmn操作了。

maven依賴:

?
1
2
3
4
5
6
7
8
9
10
11
<dependency>
 <groupid>org.activiti</groupid>
 <artifactid>activiti-spring-boot-starter-basic</artifactid>
 <version>6.0.0</version>
</dependency>
 
<dependency>
 <groupid>org.activiti</groupid>
 <artifactid>activiti-spring-boot-starter-security</artifactid>
 <version>6.0.0</version>
</dependency>

首先,我們需要配置processengineconfiguration連接到數據庫,常使用xml文件activiti.cfg.xml進行配置:

?
1
2
3
4
5
6
7
8
9
<bean id="processengineconfiguration" class="org.activiti.engine.impl.cfg.standaloneinmemprocessengineconfiguration">
 
 <property name="jdbcurl" value="jdbc:h2:mem:activiti;db_close_delay=1000" />
 <property name="jdbcdriver" value="org.h2.driver" />
 <property name="jdbcusername" value="root" />
 <property name="jdbcpassword" value="" />
 
 <property name="databaseschemaupdate" value="true" />
</bean>

我們可以得到使用processengines類獲得流程引擎了:

processengine processengine = processengines.getdefaultprocessengine();

調用這條語句將尋找類路徑中activiti.cfg.xml文件,并根據文件中的配置構造processengine。

比如我們可以在測試類中寫入下面代碼來獲得流程引擎:

?
1
2
3
processengine processengine = processengines.getdefaultprocessengine();
assertnotnull(processengine);
assertequals("root", processengine.getprocessengineconfiguration().getjdbcusername());

以上我們通過processengineconfiguration這個配置入口獲得了流程引擎processengine,processengine是我們與activiti的api打交道的主要方式,通過processengine,我們可以訪問各種提供工作流/ bpmn功能的服務,該流程引擎和所有的服務對象都是線程安全的。

Spring Boot中使用activiti的方法教程(一)

該processengines類將掃描的activiti.cfg.xml和activiti-context.xml文件。對于activiti-context.xml文件,將以spring方式創建 - 將創建spring application context并從中獲取processengine。在執行流程期間,將按bpmn文件中定義的順序訪問所有步驟。

為了更進一步了解流程概念,我們先了解一下activiti中的流程概念和術語:

(1) 一個processdefinition代表的業務流程。它用于定義流程中不同步驟的結構和行為。

(2) 部署流程定義意味著將流程定義加載到activiti數據庫中。

(3) 流程定義主要由bpmn 2.0標準定義,也可以使用java代碼定義它們,定義的所有術語也可用作java類。

(4) 一旦我們開始運行流程定義,就可以稱為一個流程process。

(5) processinstance是processdefinition一個執行實例。

(6) 一個startevent與每一個業務流程有關,它表示該流程的切入點,同樣,有一個endevent表示流程的結束。我們可以定義這些事件的條件。

(7) 開始和結束之間的所有步驟(或元素)稱為任務,任務可以是各種類型的。最常用的任務是usertasks和servicetasks。

顧名思義,usertasks需要由用戶手動執行,另一方面,servicetasks配置了一段代碼,每當執行到達這段代碼時,代碼將被執行。

sequenceflows用來連接任務,我們可以通過它將源元素和目標元素連接起來定義一個sequenceflows;同樣,我們還可以在sequenceflow上定義條件,這樣能在流程中創建條件路徑。

下圖是一個請教bpm的定義配置文件,配置元素在上面都有闡述,看圖可產生更直觀的印象:

Spring Boot中使用activiti的方法教程(一)

該流程定義屬于一個processdefinition,起始于startevent,結束于endevent,中間步驟是usertask或servicetask,其中也有sequenceflows進行元素連接。

有了流程定義,我們可以使用activiti提供的服務功能進行流程運行,activiti提供的服務有:

  • repositoryservice幫助我們實現流程定義的部署。此服務會處理與流程定義相關的靜態數據。
  • runtimeservice管理 processinstances(當前正在運行的進程)以及進程變量
  • taskservice會跟蹤 usertasks,需要由用戶手動執行的任務是activiti api的核心。我們可以使用此服務創建任務,聲明并完成任務,分配任務的受讓人等。
  • formservice是一項可選服務,它用于定義中開始表單和任務表單。
  • identityservice管理用戶和組
  • historyservice會跟蹤activiti engine的歷史記錄。我們還可以設置不同的歷史級別。
  • managementservice與元數據相關,在創建應用程序時通常不需要
  • dynamicbpmnservice幫助我們在不重新部署的情況下更改流程中的任何內容 

activiti的流程基礎知識已經準備完成,下面我們以請教為流程說明它的使用:感興趣的朋友們:

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:https://www.jdon.com/springboot/spring-activiti.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲一区二区三区精品在线观看 | 久久网综合 | 精品欧美一区二区精品久久久 | 国产精品久久久久久模特 | av免播放| xxxx69hd一hd| 露脸各种姿势啪啪的清纯美女 | 精品在线观看一区 | 国产一区二区二 | 日韩黄色影视 | 欧美一级网 | 免费国产网站 | 久久久国产一区二区三区 | 天天操天天碰 | 污片在线观看视频 | 成人精品一区二区 | 在线观看一区二区三区四区 | 国产精品午夜小视频观看 | 特级a欧美做爰片毛片 | 久久久久久中文字幕 | 在线播放视频一区二区 | 黄色久| 毛片免费试看 | 香蕉成人在线观看 | 黄色伊人网站 | 中国毛片在线观看 | 蜜桃一本色道久久综合亚洲精品冫 | 男女一边摸一边做羞羞视频免费 | 色视频在线播放 | 羞羞网站视频 | 国产精品久久久久久久久久尿 | 国产免费一区二区三区最新不卡 | 美女扒开腿让男生桶爽网站 | av在线久草 | 久久亚洲精品久久国产一区二区 | 激情宗合 | 国产性tv国产精品 | 亚洲成人在线免费观看 | 免费黄色av | 亚洲精品a在线观看 | 最新黄色电影网站 |