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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flowable节点跳转

發布時間:2025/3/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flowable节点跳转 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關鍵詞:Flowable任務節點跳轉,Flowable節點跳轉,Flowable任意節點跳轉。

在使用Flowable或者Activiti的時候,有時候我們并不期望他按照模板的定義進行運轉,比如如下的一個流程圖:

正常的流程應該是shareniu1-->shareniu2-->shareniu3-->shareniu4。

如果現在打算讓shareniu1跳轉到shareniu3,這個時候就需要繪制一根連線,并在連線中配置一些條件。其他的節點場景相似,但是實際項目開發,可能我們不想繪制太多的連線,就期望流程實例可以隨便的跳轉,這個問題也是我們本文重點要講解。

1.將上述的流程進行部署。

數據庫的變化如下所示:

2.啟動流程實例:

@Test

public void start1() {

runtimeService.startProcessInstanceByKey("jump");

}

act_ru_task表的數據如下:

這個時候,我們打算讓shareniu1直接跳轉到shareniu3,能跳轉過去嗎?我們不妨寫一個命令類試一下。

3.任意節點跳轉實現代碼:

/*** * @author 分享牛 http://www.shareniu.com/*/ public class ShareniuCommonJumpTaskCmd implements Command<Void> {protected String taskId;protected String target;public ShareniuCommonJumpTaskCmd(String taskId, String target) {this.taskId = taskId;this.target = target;}public Void execute(CommandContext commandContext) {ExecutionEntityManager executionEntityManager = CommandContextUtil.getExecutionEntityManager();TaskEntityManager taskEntityManager = CommandContextUtil.getTaskEntityManager();TaskEntity taskEntity = taskEntityManager.findById(taskId);ExecutionEntity ee = executionEntityManager.findById(taskEntity.getExecutionId());Process process = ProcessDefinitionUtil.getProcess(ee.getProcessDefinitionId());FlowElement targetFlowElement = process.getFlowElement(target);ee.setCurrentFlowElement(targetFlowElement);FlowableEngineAgenda agenda = CommandContextUtil.getAgenda();agenda.planContinueProcessInCompensation(ee);taskEntityManager.delete(taskId);return null;}}

?

4.測試代碼:

接下來,開始測試,實例代碼如下:

@Test public void jump() {ManagementService managementService = processEngine.getManagementService();managementService.executeCommand(new ShareniuCommonJumpTaskCmd("2505","shareniu3")); }

act_ru_task表的數據如下:

?

通過這里可以看出,我們的命令類已經生效了。那我們再次執行下上述代碼讓?shareniu3跳轉到shareniu2試下,實例代碼如下:

@Test public void jump() {ManagementService managementService = processEngine.getManagementService();managementService.executeCommand(new ShareniuCommonJumpTaskCmd("5002","shareniu2")); }

act_ru_task表的數據如下:

上述的命令類確實很好用的。

5.上述跳轉命令類的缺陷:

1.上述的命令類只適用于6.x版本的引擎。包括模板以及實例都是6.x版本。

2.只適用于常規節點的跳轉。(關于分支節點的跳轉、多實例節點的跳轉以及并行節點的跳轉后續文章會詳細說明)。

3.上述的代碼適用于flowable6.1.2以后的版本。關于flowable6.1.2之前的版本思路一樣,只是代碼要稍微微調一下,部分代碼如下所示:

ExecutionEntityManager executionEntityManager = commandContext.getExecutionEntityManager();

TaskEntityManager taskEntityManager = commandContext.getTaskEntityManager();

注意:flowable6.1.2只是對代碼所在的包進行了調整,核心思想并沒有變化。

總結

以上是生活随笔為你收集整理的Flowable节点跳转的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线不卡的av | 男人天堂久久久 | 国产农村av | 欧美a视频在线观看 | 国产传媒一区二区三区 | 韩国精品一区二区三区 | 潘金莲一级淫片aaaaa武则天 | 一级性毛片 | 综合网在线视频 | av在线不卡观看 | 国产美女无遮挡免费视频 | 热99这里只有精品 | 久久aⅴ乱码一区二区三区 亚洲成人18 | 误杀1电影免费观看高清完整版 | 亚洲精品久久久久久久久久久久久 | 高清国产在线观看 | 深爱激情综合网 | 人人妻人人澡人人爽人人精品 | 人人妻人人澡人人爽精品日本 | 欧美一区二区三区婷婷月色 | 国产精品精品国产色婷婷 | 色呦呦一区二区三区 | 一区二区三区国产视频 | 国产日韩二区 | 在线视频观看你懂得 | 亚洲精品成人 | 日韩精品一区二区三区高清免费 | 欧美亚洲在线播放 | 国产农村妇女毛片精品久久麻豆 | 欧美日韩理论 | 污污内射久久一区二区欧美日韩 | 狠狠噜噜| 好av| 亚洲精品国产精品国自产观看 | 中文字幕欲求不满 | 精品国产一区二区三区四区阿崩 | 波多野结衣精品视频 | 五月天丁香久久 | 黄色aa级片 | 国产女人18毛片水真多 | 伦伦影院午夜理论片 | 上海毛片| 91丝袜呻吟高潮美腿白嫩在线观看 | 日韩精品2区 | 蜜臀久久99精品久久久画质超高清 | 国产情侣自拍一区 | 成人午夜激情 | 91另类| 亚洲成人高清在线观看 | 欧美国产一级片 | 夜夜骑夜夜 | 国产视频在线观看视频 | 免费播放黄色片 | 色综合天天综合网国产成人网 | 亚洲超丰满肉感bbw 悠悠av | 国产毛片精品国产一区二区三区 | 高h教授1v1h喂奶 | 亚洲免费成人在线 | 日韩欧美中文字幕在线视频 | 欧洲黄视频 | 国产精品www. | 老子午夜影院 | 日本www在线播放 | 精品区| 韩国一区二区三区四区 | 男人和女人日批 | 亚洲欧美在线一区 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲欧美日本一区二区三区 | 好男人在线观看 | 中文字幕在线网址 | 欧美日韩一区二区三区不卡 | 亚洲精品小视频 | 91免费看大片 | av一级二级 | 91欧美视频 | 中国免费观看的视频 | 国产欧美大片 | 超碰99在线 | 日韩欧美资源 | 成人免费看片98 | 天天干天天舔天天操 | 亚洲综合激情另类小说区 | 91视频看看 | 中文字幕无码精品亚洲 | 国产黑丝在线播放 | 亚洲国产精品激情在线观看 | 久久久精品亚洲 | 国产卡一卡二 | 高清无码视频直接看 | 国产高清sp | 澳门一级黄色片 | www日本色 | 夜夜爽影院 | 午夜影院久久久 | 日韩小视频网站 | 神马午夜场 | 免费麻豆国产一区二区三区四区 | 日日干干|