新聞中心
在之前的案例中,松哥和大家舉例最多的 Task 主要是 UserTask 和 ServiceTask,ReceiveTask 雖然也和大家提過但是沒有仔細講過,今天我們就來捋一捋 ReceiveTask 在 Flowable 中到底怎么玩。

公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出同心免費做網(wǎng)站回饋大家。
1. 使用場景
接受任務(wù)(Receive Task),接觸過 Flowable 的小伙伴應(yīng)該是見過或者聽說過,它的圖標如下圖:
ReceiveTask 可以算是 Flowable 中最簡單的一種任務(wù),當(dāng)該任務(wù)到達的時候,它不做任何邏輯,而是被動地等待用戶 Trigger。
ReceiveTask 往往適用于一些不明確的阻塞,例如:一個復(fù)雜的計算需要等待很多條件,這些條件是需要人為來判斷是否可以執(zhí)行,而不是直接執(zhí)行,這個時候,工作人員如果判斷可以繼續(xù)了,那么就 Trigger 一下使流程繼續(xù)向下執(zhí)行。
基于以上介紹,ReceiveTask 還有一個中文名字叫做等待任務(wù),也就是說,流程走到 ReceiveTask 這個節(jié)點的時候,就卡住了,需要用戶手動點一下,流程才會繼續(xù)向下走。
2. 實踐
2.1 繪制流程圖
我們繪制一個簡單的流程圖來看下 ReceiveTask 到底是啥樣子,流程圖如下:
ReceiveTask 圖標上有一個信封。
小伙伴們繪制的時候,首先選擇用戶任務(wù):
然后點擊設(shè)置按鈕,將用戶任務(wù)切換為 ReceiveTask 即可:
繪制完成后,我們下載這個流程圖對應(yīng)的 XML 文件。
來看看,帶 ReceiveTask 的流程圖是下面這樣的:
接收任務(wù)測試流程
2.2 部署
這個松哥在之前的文章中已經(jīng)反復(fù)介紹過多次了,這里就不再贅述了,大家參考我們之前的文章部署并啟動上面這個流程。
2.3 分析
當(dāng)流程啟動之后,按照我們前面文章的分析,我們先去數(shù)據(jù)庫中 ACT_RU_TASK? 表進行查看,發(fā)現(xiàn)該表空空如也。也就是 ReceiveTask 并不會被記錄在 ACT_RU_TASK? 表中,他們只是單純的被記錄在 ACT_RU_EXECUTION 表中,因為在該表中,我們可以查看 ReceiveTask 的記錄。
對于 ReceiveTask 的觸發(fā)方式也很簡單,如下:
@Test
void test10() {
Listlist = runtimeService.createExecutionQuery().activityId("todaySales").list();
for (Execution execution : list) {
runtimeService.trigger(execution.getId());
}
}
由于 ReceiveTask 的觸發(fā)需要傳入的參數(shù)是執(zhí)行實例 ID 而不是流程實例 ID,所以我們要查詢出來當(dāng)前待觸發(fā)的執(zhí)行實例 ID。具體的查詢方式就是根據(jù) ReceiveTask 的節(jié)點名稱去查詢。
查詢到執(zhí)行實例 ID 之后,調(diào)用 trigger 方法完成觸發(fā),使得流程繼續(xù)向下走。
好啦,現(xiàn)在流程進入到發(fā)送今日銷售業(yè)績給老板這個環(huán)節(jié)了,老辦法繼續(xù)查詢并執(zhí)行:
@Test
void test10() {
Listlist = runtimeService.createExecutionQuery().activityId("sendMsg").list();
for (Execution execution : list) {
runtimeService.trigger(execution.getId());
}
}
這個執(zhí)行完層后,這個流程就結(jié)束了?,F(xiàn)在我們?nèi)ゲ榭?nbsp;ACT_RU_ACTINST? 表已經(jīng)空了,查看 ACT_RU_EXECUTION 表也空了。
網(wǎng)站題目:Flowable中ReceiveTask怎么玩?
當(dāng)前鏈接:http://fisionsoft.com.cn/article/dpioiic.html


咨詢
建站咨詢
