最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Activiti如何啟動流程并使流程前進(jìn)

 更新時(shí)間:2020年03月09日 11:36:14   作者:程序曉猿  
這篇文章主要介紹了Activiti如何啟動流程并使流程前進(jìn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、流程和任務(wù)的關(guān)系

以下是一個簡單的請假流程圖,其中有一個開始事件,兩個用戶任務(wù),一個結(jié)束事件。

啟動流程后,activiti會自動創(chuàng)建第一個流程節(jié)點(diǎn)的用戶任務(wù),然后我們完成第一個用戶任務(wù)流程就會前進(jìn)到下一個流程節(jié)點(diǎn),創(chuàng)建第二個節(jié)點(diǎn)的流程任務(wù)并刪除第一個流程任務(wù)。

二、開啟流程

activiti提供了一個RuntimeService服務(wù)組件來在流程運(yùn)行時(shí)對流程實(shí)例進(jìn)行管理與控制。開啟流程就需要使用其中的api

2.1根據(jù)流程定義key開啟流程

上一篇博客中說道了一個流程部署成功后,會在部署信息表act_re_deployment和流程定義表act_re_procdef中插入記錄。流程定義key就是act_re_procdef表中的KEY_字段的值。


當(dāng)表中存在KEY_字段相同的記錄時(shí),activiti會選擇版本號 VERSION_最新的一條流程定義記錄來開啟流程

  /**
   * 開啟流程,根據(jù)流程定義key開啟流程,
   * 如果流程定義表中有多個相同的流程定義key,activiti會根據(jù)版本號字段VERSION_選擇最新的版本來開啟流程
   */
  @Test
  public void test1() {
    String processDefinitionKey="process";
    //開啟流程,得到流程實(shí)例對象
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processDefinitionKey);
    System.out.println(processInstance);
  }

activiti用ProcessInstance這個接口來描述開啟流程后得到的流程實(shí)例。

三、查詢用戶任務(wù)

開頭說到了開啟流程后會創(chuàng)建第一個流程節(jié)點(diǎn)的用戶任務(wù),所以可以使用activiti提供的另一個服務(wù)組件TaskService來查詢用戶任務(wù),TaskService中提供了和任務(wù)處理相關(guān)的api

3.1 TaskQuery

activiti提供了這個接口來封裝任務(wù)查詢相關(guān)的api,可以通過TaskService來獲取它的實(shí)現(xiàn)類對象

TaskQuery taskQuery = taskService.createTaskQuery();

然后taskQuery這個查詢對象的使用和activiti的其他查詢對象類似,先指定查詢條件,再執(zhí)行查詢。這里我根據(jù)任務(wù)的代理人進(jìn)行查詢,一個任務(wù)只能有一個代理人

  /**
   * 查詢開啟流程后自動創(chuàng)建的任務(wù)
   */
  @Test
  public void test2() {
    //根據(jù)任務(wù)的代理人進(jìn)行查詢,一個任務(wù)的代理人是唯一的
    Task task = taskService.createTaskQuery().taskAssignee("tom").singleResult();
    System.out.println(task);
  }

activiti用Task來封裝任務(wù)對象,對應(yīng)的是act_ru_task這張表的記錄。創(chuàng)建任務(wù)后會在這張表中插入一條記錄。

四、完成任務(wù)

可以使用taskService中的方法來完成當(dāng)前任務(wù),使流程向下一個節(jié)點(diǎn)移動。完成任務(wù)時(shí)需要給定任務(wù)id即act_ru_task表的主鍵Id,所以完成任務(wù)時(shí)可以先通過查詢方法給定條件查詢出一個任務(wù)對象,再完成這個任務(wù)。

  /**
   * 完成任務(wù),使流程前進(jìn)到下一個流程節(jié)點(diǎn),并創(chuàng)建下一個節(jié)點(diǎn)的任務(wù)對象
   */
  @Test
  public void test3() {
    String taskId="4502";
    taskService.complete(taskId);
  }

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java實(shí)現(xiàn)圖片合成的示例詳解

    Java實(shí)現(xiàn)圖片合成的示例詳解

    前端有一個神器——canvas,這個畫布標(biāo)簽可以處理各種圖片的合成,可以精確到圖片的具體坐標(biāo)。java后端也有這樣的神器,那就是image-combiner,可以很簡單的合成圖片,感興趣的可以試一試
    2022-01-01
  • 解讀Spring-boot的debug調(diào)試

    解讀Spring-boot的debug調(diào)試

    這篇文章主要介紹了解讀Spring-boot的debug調(diào)試,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Spring Cloud Config 使用本地配置文件方式

    Spring Cloud Config 使用本地配置文件方式

    這篇文章主要介紹了Spring Cloud Config 使用本地配置文件方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • SpringBoot淺析安全管理之OAuth2框架

    SpringBoot淺析安全管理之OAuth2框架

    安全管理是軟件系統(tǒng)必不可少的的功能。根據(jù)經(jīng)典的“墨菲定律”——凡是可能,總會發(fā)生。如果系統(tǒng)存在安全隱患,最終必然會出現(xiàn)問題,這篇文章主要介紹了SpringBoot安全管理OAuth2框架的使用
    2022-08-08
  • Mybatis CachingExecutor二級緩存使用示例詳解

    Mybatis CachingExecutor二級緩存使用示例詳解

    這篇文章主要介紹了?Mybatis的CachingExecutor與二級緩存使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 解決idea中debug工具欄消失后如何顯示的問題

    解決idea中debug工具欄消失后如何顯示的問題

    這篇文章主要介紹了解決idea中debug工具欄消失后如何顯示的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Applet小應(yīng)用程序開發(fā)簡介

    Applet小應(yīng)用程序開發(fā)簡介

    Applet小應(yīng)用程序開發(fā)簡介 ,用java開發(fā)的小程序,需要的朋友可以參考下
    2012-09-09
  • PowerJob的DesignateServer工作流程源碼解讀

    PowerJob的DesignateServer工作流程源碼解讀

    這篇文章主要介紹了PowerJob的DesignateServer工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • JDK 7U15在 Windows x86平臺下的安裝方法

    JDK 7U15在 Windows x86平臺下的安裝方法

    本文給大家分享的是如何在windows平臺下安裝JDK最新版的方法,十分的簡單全面,有需要的小伙伴可以參考下
    2016-05-05
  • Java經(jīng)典面試題匯總:Java Web

    Java經(jīng)典面試題匯總:Java Web

    本篇總結(jié)的是Java Web相關(guān)的面試題,后續(xù)會持續(xù)更新,希望我的分享可以幫助到正在備戰(zhàn)面試的實(shí)習(xí)生或者已經(jīng)工作的同行,如果發(fā)現(xiàn)錯誤還望大家多多包涵,不吝賜教,謝謝
    2021-07-07

最新評論

蒙城县| 宜良县| 桂林市| 九江市| 通化县| 巫溪县| 左贡县| 湖北省| 宁南县| 武隆县| 禄劝| 搜索| 宜宾市| 东阿县| 平顺县| 灵台县| 沂源县| 巴楚县| 益阳市| 林西县| 左贡县| 门头沟区| 新余市| 余干县| 格尔木市| 左贡县| 孝昌县| 沙湾县| 台南市| 綦江县| 游戏| 乐亭县| 和硕县| 清水河县| 蒲江县| 响水县| 南康市| 扎兰屯市| 明星| 庄浪县| 靖江市|