日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

activiti6教程四

發(fā)布時間:2023/12/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 activiti6教程四 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本節(jié)將結(jié)合官方繪圖工具和API進(jìn)行一次整合

  • 首先繪制流程圖如下

?圖中${pass==1}和${pass==0}為網(wǎng)關(guān)執(zhí)行條件,當(dāng)pass==1時候執(zhí)行t2任務(wù)當(dāng)pass==0時t4路線,設(shè)置方法為點擊那條連接線,選擇Flow condition輸入?${pass==1},那么在后續(xù)中只要我們將activiti中改變pass的變量的值就能控制流程的走向

?

?

?

設(shè)置message事件,點擊圖中空白處,選擇message definitions 添加一個消息事件,這邊添加了一個mes1事件

點擊圖中t3里面邊界消息事件圖標(biāo)

?

?點擊message reference 下拉框選擇上一步添加的mes1事件,這樣這個邊界消息事件就和mes1消息做了綁定,當(dāng)流程走到t3時我們就可以手動發(fā)出mes1消失,由于t3訂閱了mes1消息那么流程就會完成回退,回到t2節(jié)點

?

  • 設(shè)置監(jiān)聽器

將監(jiān)聽器所在路徑填入t1的

?

?

選擇Event事件類型為complete,同理你可以設(shè)置為create,在任務(wù)到達(dá)這個節(jié)點時觸發(fā)監(jiān)聽器,這里設(shè)置的是任務(wù)完成時候觸發(fā)監(jiān)聽器

?

?

  • 接下來把流程打包發(fā)布?

?點擊頂部Apps按鈕,點擊create App按鈕

設(shè)置發(fā)布的包名

點擊下圖按鈕將你剛才保存的流程圖導(dǎo)入,然后點擊左上角的保存即可

?點擊右上角publish既完成發(fā)布,現(xiàn)在后端管理流程維護(hù)基本結(jié)束

回到首頁點擊 Task App模塊

點擊方面的Processes按鈕,再點擊 start a process就可以看見我們之前發(fā)布的atest流程我們可以在這個模塊中開啟流程,完成流程,接下來這些步驟我們通過調(diào)用官方提供的API來實現(xiàn)

?

?

?

?

?

調(diào)用前端API步驟

首先新建一個maven工程,在pom中引入

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><version>1.5.19.RELEASE</version><scope>test</scope> </dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.44</version> </dependency><dependency><groupId>org.activiti</groupId><artifactId>activiti-spring-boot-starters</artifactId><version>6.0.1-SNAPSHOT</version> </dependency>

?

注入如果你使用的是中央倉庫,則無法引入6.0.1這個activiti版本的starter,需要參考前面章節(jié)自行下載便也打包

接下來是設(shè)置SpringBoot配置文件中的數(shù)據(jù)源,這個數(shù)據(jù)源必須和前面不是的activiti-app工程的數(shù)據(jù)源相同,因為這兩個工程是公用一個數(shù)據(jù)庫(不然在后端部署的流程前端怎么看的見)。

接下來編寫測試代碼

  • 第一步我們先剛才我們部署的流程是否成功

我們可以通過debug模式查看Deployment中的數(shù)據(jù)結(jié)構(gòu),可以發(fā)現(xiàn)里面包含了一些部署信息

  • 接下來我們設(shè)置流程的發(fā)起人并且開始一個這個流程 ,并返回一個流程實例,由于我們這個流程的key設(shè)置為atest所以我們把atest傳入api,api中還提供了很多種開啟流程的方法,這個可以自行去RuntimeService接口中查找

?

  • ?接下來我們根據(jù)任務(wù)發(fā)起人去查詢該用戶下有多少任務(wù),并且去完成任務(wù)

我們看到當(dāng)執(zhí)行complete方法時之前設(shè)置的監(jiān)聽器已經(jīng)生效并且打印出代碼?

我們執(zhí)行最后一段代碼發(fā)現(xiàn)現(xiàn)在任務(wù)已經(jīng)到達(dá)一下個節(jié)點t2

  • ?下面我們繼續(xù)進(jìn)行回退

調(diào)用API taskService.complete()方法將任務(wù)執(zhí)行到t3任務(wù)節(jié)點,現(xiàn)在我們要發(fā)起回退,現(xiàn)在流程已經(jīng)到達(dá)t3節(jié)點

?

調(diào)用api發(fā)起一個回退時間mes1

接下來調(diào)用查詢方法發(fā)現(xiàn)現(xiàn)在流程已經(jīng)回退到t2節(jié)點

最后附上代碼github地址

https://github.com/liushprofessor/activititest

總結(jié)

以上是生活随笔為你收集整理的activiti6教程四的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。