日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Flowable中ReceiveTask怎么玩?

在之前的案例中,松哥和大家舉例最多的 Task 主要是 UserTask 和 ServiceTask,ReceiveTask 雖然也和大家提過(guò)但是沒(méi)有仔細(xì)講過(guò),今天我們就來(lái)捋一捋 ReceiveTask 在 Flowable 中到底怎么玩。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出同心免費(fèi)做網(wǎng)站回饋大家。

1. 使用場(chǎng)景

接受任務(wù)(Receive Task),接觸過(guò) Flowable 的小伙伴應(yīng)該是見(jiàn)過(guò)或者聽(tīng)說(shuō)過(guò),它的圖標(biāo)如下圖:

ReceiveTask 可以算是 Flowable 中最簡(jiǎn)單的一種任務(wù),當(dāng)該任務(wù)到達(dá)的時(shí)候,它不做任何邏輯,而是被動(dòng)地等待用戶 Trigger。

ReceiveTask 往往適用于一些不明確的阻塞,例如:一個(gè)復(fù)雜的計(jì)算需要等待很多條件,這些條件是需要人為來(lái)判斷是否可以執(zhí)行,而不是直接執(zhí)行,這個(gè)時(shí)候,工作人員如果判斷可以繼續(xù)了,那么就 Trigger 一下使流程繼續(xù)向下執(zhí)行。

基于以上介紹,ReceiveTask 還有一個(gè)中文名字叫做等待任務(wù),也就是說(shuō),流程走到 ReceiveTask 這個(gè)節(jié)點(diǎn)的時(shí)候,就卡住了,需要用戶手動(dòng)點(diǎn)一下,流程才會(huì)繼續(xù)向下走。

2. 實(shí)踐

2.1 繪制流程圖

我們繪制一個(gè)簡(jiǎn)單的流程圖來(lái)看下 ReceiveTask 到底是啥樣子,流程圖如下:

ReceiveTask 圖標(biāo)上有一個(gè)信封。

小伙伴們繪制的時(shí)候,首先選擇用戶任務(wù):

然后點(diǎn)擊設(shè)置按鈕,將用戶任務(wù)切換為 ReceiveTask 即可:

繪制完成后,我們下載這個(gè)流程圖對(duì)應(yīng)的 XML 文件。

來(lái)看看,帶 ReceiveTask 的流程圖是下面這樣的:


接收任務(wù)測(cè)試流程







2.2 部署

這個(gè)松哥在之前的文章中已經(jīng)反復(fù)介紹過(guò)多次了,這里就不再贅述了,大家參考我們之前的文章部署并啟動(dòng)上面這個(gè)流程。

2.3 分析

當(dāng)流程啟動(dòng)之后,按照我們前面文章的分析,我們先去數(shù)據(jù)庫(kù)中 ACT_RU_TASK? 表進(jìn)行查看,發(fā)現(xiàn)該表空空如也。也就是 ReceiveTask 并不會(huì)被記錄在 ACT_RU_TASK? 表中,他們只是單純的被記錄在 ACT_RU_EXECUTION 表中,因?yàn)樵谠摫碇?,我們可以查?ReceiveTask 的記錄。

對(duì)于 ReceiveTask 的觸發(fā)方式也很簡(jiǎn)單,如下:

@Test
void test10() {
List list = runtimeService.createExecutionQuery().activityId("todaySales").list();
for (Execution execution : list) {
runtimeService.trigger(execution.getId());
}
}

由于 ReceiveTask 的觸發(fā)需要傳入的參數(shù)是執(zhí)行實(shí)例 ID 而不是流程實(shí)例 ID,所以我們要查詢出來(lái)當(dāng)前待觸發(fā)的執(zhí)行實(shí)例 ID。具體的查詢方式就是根據(jù) ReceiveTask 的節(jié)點(diǎn)名稱去查詢。

查詢到執(zhí)行實(shí)例 ID 之后,調(diào)用 trigger 方法完成觸發(fā),使得流程繼續(xù)向下走。

好啦,現(xiàn)在流程進(jìn)入到發(fā)送今日銷售業(yè)績(jī)給老板這個(gè)環(huán)節(jié)了,老辦法繼續(xù)查詢并執(zhí)行:

@Test
void test10() {
List list = runtimeService.createExecutionQuery().activityId("sendMsg").list();
for (Execution execution : list) {
runtimeService.trigger(execution.getId());
}
}

這個(gè)執(zhí)行完層后,這個(gè)流程就結(jié)束了。現(xiàn)在我們?nèi)ゲ榭?nbsp;ACT_RU_ACTINST? 表已經(jīng)空了,查看 ACT_RU_EXECUTION 表也空了。


分享標(biāo)題:Flowable中ReceiveTask怎么玩?
本文地址:http://www.5511xx.com/article/dpioiic.html