国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

這篇具有很好參考價(jià)值的文章主要介紹了Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

工作流是我們開發(fā)企業(yè)應(yīng)用幾乎必備的一項(xiàng)功能,工作流引擎發(fā)展至今已經(jīng)有非常多的產(chǎn)品。最近正好在接觸Camunda,所以來做個(gè)簡單的入門整合介紹。如果您也剛好在調(diào)研或者剛開始計(jì)劃接入,希望本文對您有所幫助。如果您是一名Java開發(fā)或Spring框架愛好者,歡迎關(guān)注我程序猿DD,持續(xù)非常技術(shù)干貨。

Camunda簡介

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

Camunda是一個(gè)靈活的工作流和流程自動(dòng)化框架。其核心是一個(gè)運(yùn)行在Java虛擬機(jī)內(nèi)部的原生BPMN 2.0流程引擎。它可以嵌入到任何Java應(yīng)用程序和任何運(yùn)行時(shí)容器中。

  • 官網(wǎng)網(wǎng)站: https://www.camunda.org/
  • 入門文檔: https://docs.camunda.org/get-started/

動(dòng)手整合Camunda

下面就來一步步動(dòng)手嘗試一下吧。

準(zhǔn)備工作

  1. 使用Camunda提供的項(xiàng)目初始化工具Camunda Automation Platform 7 Initializr

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

如上圖,包名之類的根據(jù)自己需要做好配置,最后輸入管理賬號和密碼,點(diǎn)擊Generate Project按鈕,自動(dòng)下載工程。

  1. 解壓下載后的工程,使用IntelliJ IDEA打開,其項(xiàng)目結(jié)構(gòu)

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

  1. 打開pom.xml文件,添加camunda依賴:
<dependency>
    <groupId>org.camunda.connect</groupId>
    <artifactId>camunda-connect-core</artifactId>
</dependency>

<dependency>
    <groupId>org.camunda.bpm</groupId>
    <artifactId>camunda-engine-plugin-connect</artifactId>
</dependency>

由于Camunda Automation Platform 7 Initializr默認(rèn)的Spring Boot版本已經(jīng)是3.1了,所以如果要做一些降級調(diào)整,可以手工修改pom.xmldependencyManagement配置,比如下面這樣:

<dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.6.4</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>org.camunda.bpm</groupId>
        <artifactId>camunda-bom</artifactId>
        <version>7.15.0</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>
    </dependencies>
</dependencyManagement>
  1. 打開配置文件application.yaml,可以看到類似下面的內(nèi)容
spring.datasource.url: jdbc:h2:file:./camunda-h2-database

camunda.bpm.admin-user:
  id: transduck
  password: 111111
  • spring.datasource.url:工作流引擎使用的數(shù)據(jù)庫配置,您也可以根據(jù)官網(wǎng)文檔去調(diào)整到其他數(shù)據(jù)庫中(尤其生產(chǎn)環(huán)境)。
  • camunda.bpm.admin-user:管理員賬戶配置,可以在這里修改用戶名和密碼

創(chuàng)建一個(gè)簡單的工作流

下面我們嘗試創(chuàng)建一個(gè)簡單的工作流:

第一步,我們將請求用戶提供兩個(gè)輸入:name和message
第二步,我們將這些輸入傳遞給我們的服務(wù)以創(chuàng)建消息輸出

開始編碼:

  1. 創(chuàng)建第一步提到的數(shù)據(jù)模型
public class model {
    
    private String message;
    private String name;
    
    public model() { }
    
    public String getMessage() {
        return message;
    }
    
    public void setMessage(String message) {
        this.message = message;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    @Override
    public String toString() {
        return "" + message + ", " + name;
    }
}
  1. 根據(jù)第二步,創(chuàng)建接收消息的接口
@RequestMapping("/")
@RestController
public class controller {

    Logger logger = Logger.getLogger(this.getClass().getName());

    @PostMapping("/message")
    public model createMessage(@RequestBody model model) {
        logger.info("-------Message Creator Initialized-------");

        model m = new model();
        m.setMessage(model.getMessage());
        m.setName(model.getName());

        logger.info("Message created --> " + m.toString());
        return m;
    }
}
  1. 下面我們可以開始創(chuàng)建工作流程圖。在Camunda Modeler中打開我們項(xiàng)目的resources下的process.bpmn,我們將看到類似下面的流程圖:

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

圖中帶有小人的框稱為User Tasks,是執(zhí)行與用戶相關(guān)的操作的步驟。如前面部分所述,在工作流程的第一步中,我們將請求用戶輸入兩個(gè)輸入:姓名和消息。無需添加新任務(wù),更新現(xiàn)有的User Tasks即可解決問題。單擊User Tasks,打開屬性面板,在打開的面板中定義適合我們案例內(nèi)容。

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

  1. 完成基本信息填寫后,轉(zhuǎn)到Form選項(xiàng)卡。

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

這是定義呈現(xiàn)給用戶的表單選項(xiàng)卡。由于我們需要用戶輸入姓名和消息,因此我們定義兩個(gè)名為“name”和“message”的表單字段。要定義表單字段,請單擊“表單字段”旁邊的加號圖標(biāo)。在打開的表單中,相應(yīng)地填寫 ID、類型和標(biāo)簽字段。對每個(gè)表單字段重復(fù)相同的步驟。

  1. 開始配置第二步,調(diào)用我們的接口。添加Service Task。

具體操作方法:單擊左側(cè)菜單中的Create Task圖標(biāo),然后將任務(wù)拖放到隨機(jī)位置。單擊任務(wù)后,單擊Change Type圖標(biāo),然后從菜單中選擇Service Task。

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

  1. 填寫基本信息

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

  1. 切換到Connector選項(xiàng)卡。這是定義 HTTP 信息和有關(guān)服務(wù)的數(shù)據(jù)的選項(xiàng)卡,在這里配置剛才定義的接口,具體如下圖所示:

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

  1. Service Task連接到工作流程中。先刪除User TasksEnd Event之間的箭頭。然后,單擊User Tasks并從菜單中選擇箭頭圖標(biāo)。將箭頭連接到Service Task。最后,再連接Service TaskEnd Event。

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

啟動(dòng)測試

在完成了上面的編碼和工作流程配置后,我們就可以在調(diào)試模式下運(yùn)行項(xiàng)目了。

啟動(dòng)完成后,在瀏覽器上訪問地址http://localhost:8080/,您將看到 Camunda 登錄頁面:

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

輸入您在application.yaml中配置的管理員配置信息,進(jìn)入后臺:

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

從應(yīng)用程序主頁中選擇Tasklist,可看到如下界面:

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

然后在任務(wù)列表頁面上單擊Add a simple filter選項(xiàng)。單擊后,您將看到名為All Tasks (0)的過濾器已添加到列表中,繼續(xù)單擊Start process選項(xiàng)來運(yùn)行我們準(zhǔn)備好的工作流程。

選擇您的工作流進(jìn)程,然后單擊Start button,無需提供任何其他信息。

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

最后,單擊Created下列出的Get Input任務(wù)。如果您沒有看到該任務(wù),請刷新頁面。

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

您將看到我們在第一步中定義的表單。要填寫表格,請單擊右上角Claim選項(xiàng)。然后,根據(jù)您的喜好填寫表格并單擊Complete按鈕。

Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流

當(dāng)工作流執(zhí)行Service Task并且服務(wù)運(yùn)行時(shí),您將看到列表再次變空。如果工作流成功執(zhí)行了第二步,我們應(yīng)該能夠在控制臺中看到輸出。

小結(jié)

本文介紹了使用Spring Boot和Camunda創(chuàng)建一個(gè)簡單工作流的完整步驟,希望對您有所幫助。如果您學(xué)習(xí)過程中如遇困難?可以加入我們超高質(zhì)量的Spring技術(shù)交流群,參與交流與討論,更好的學(xué)習(xí)與進(jìn)步!更多Spring Boot教程可以點(diǎn)擊直達(dá)!,歡迎收藏與轉(zhuǎn)發(fā)支持!

歡迎關(guān)注我的公眾號:程序猿DD。第一時(shí)間了解前沿行業(yè)消息、分享深度技術(shù)干貨、獲取優(yōu)質(zhì)學(xué)習(xí)資源文章來源地址http://www.zghlxwxcb.cn/news/detail-799567.html

到了這里,關(guān)于Spring Boot 整合 Camunda 實(shí)現(xiàn)工作流的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【工作流】Activiti工作流簡介以及Spring Boot 集成 Activiti7

    【工作流】Activiti工作流簡介以及Spring Boot 集成 Activiti7

    什么是工作流? 工作流指通過計(jì)算機(jī)對業(yè)務(wù)流程進(jìn)行自動(dòng)化管理,實(shí)現(xiàn)多個(gè)參與者按照預(yù)定義的流程去自動(dòng)執(zhí)行業(yè)務(wù)流程。 文章源碼托管:https://github.com/OUYANGSIHAI/Activiti-learninig Activiti5是由Alfresco軟件在2010年5月17日發(fā)布的業(yè)務(wù)流程管理(BPM)框架,它是覆蓋了業(yè)務(wù)流程管理、

    2024年02月08日
    瀏覽(31)
  • 工作流Camunda入門demo

    工作流Camunda入門demo

    先下載2個(gè)客戶端,分別是Camunda Platform和Camunda Modeler Camunda Platform是用來部署的 Camunda Modeler是用來設(shè)計(jì)流程的 具體的流程里的實(shí)際動(dòng)作還是需要我們自己寫代碼去訂閱實(shí)現(xiàn)的。 直接上官網(wǎng)的2個(gè)下載地址,下載后不需要配置環(huán)境變量直接就能run,我這邊本地pc是windows的所以下

    2023年04月08日
    瀏覽(17)
  • Spring Boot 中動(dòng)態(tài)創(chuàng)建 Flowable 工作流

    在 Spring Boot 中動(dòng)態(tài)創(chuàng)建 Flowable 工作流可以通過以下步驟實(shí)現(xiàn): 1.?創(chuàng)建 Flowable 配置:首先,您需要在 Spring Boot 應(yīng)用程序中配置 Flowable。您可以使用 Spring Boot 的配置文件或注解來配置 Flowable。 2.?創(chuàng)建工作流定義:接下來,您需要?jiǎng)?chuàng)建工作流定義。您可以使用 Flowable 的 API 來

    2024年02月10日
    瀏覽(18)
  • camunda工作流實(shí)戰(zhàn)項(xiàng)目(表單設(shè)計(jì)器+流程編輯器,零代碼創(chuàng)建流程)

    camunda工作流實(shí)戰(zhàn)項(xiàng)目(表單設(shè)計(jì)器+流程編輯器,零代碼創(chuàng)建流程)

    基于ruoyi平臺和camunda工作流開發(fā)而成,結(jié)合bpmn.js流程編輯器和vform表單設(shè)計(jì)器,實(shí)現(xiàn)常規(guī)流程零代碼創(chuàng)建。 具備流程中心的能力,支持外部任務(wù),可協(xié)調(diào)多個(gè)業(yè)務(wù)系統(tǒng)協(xié)同工作 具備SaaS平臺的能力,支持多租戶,各業(yè)務(wù)系統(tǒng)可作為租戶,創(chuàng)建自己的流程,通過外部任務(wù)與自身

    2024年02月12日
    瀏覽(35)
  • SpringBoot整合Activiti實(shí)現(xiàn)工作流的低代碼系統(tǒng)(附源碼+文檔)

    SpringBoot整合Activiti實(shí)現(xiàn)工作流的低代碼系統(tǒng)(附源碼+文檔)

    activiti工作流引擎項(xiàng)目,企業(yè)erp、oa、hr、crm等企事業(yè)辦公系統(tǒng)輕松落地,一套完整并且實(shí)際運(yùn)用在多套項(xiàng)目中的案例,滿足日常業(yè)務(wù)流程審批需求。 springboot+vue+activiti集成了activiti在線編輯器,流行的前后端分離部署開發(fā)模式,快速開發(fā)平臺,可插拔工作流服務(wù)。工作流表單

    2024年04月09日
    瀏覽(20)
  • 【idea中Activiti BPMN visualizer插件和Camunda Modeler工作流設(shè)計(jì)器的簡單使用】

    【idea中Activiti BPMN visualizer插件和Camunda Modeler工作流設(shè)計(jì)器的簡單使用】

    1、Idea中的工作流插件Activiti BPMN visualizer Activiti插件actiBPM在新版的idea 2020及以上版本中已經(jīng)不支持,Activiti BPMN visualizer是一款支持編輯和游覽工作流設(shè)計(jì)圖的idea插件,但是它對工作流設(shè)計(jì)中的網(wǎng)關(guān)設(shè)計(jì)支持并不太友好;下面第4章節(jié)我們用到Camunda Modeler軟件來協(xié)助設(shè)計(jì)整體工

    2023年04月09日
    瀏覽(27)
  • Spring Boot整合Camunda打造高效工作流程

    Spring Boot整合Camunda打造高效工作流程

    ????歡迎來到我的CSDN主頁!???? ??我是塵緣,一個(gè)在CSDN分享筆記的博主。???? ??點(diǎn)擊這里,就可以查看我的主頁啦!???? 塵緣的個(gè)人主頁 ??如果感覺還不錯(cuò)的話請給我點(diǎn)贊吧!???? ??期待你的加入,一起學(xué)習(xí),一起進(jìn)步!???? 在現(xiàn)代的軟件開發(fā)中,工作流管

    2024年04月13日
    瀏覽(45)
  • SpringBoot整合Activiti實(shí)現(xiàn)工作流的低代碼系統(tǒng)(附源碼和配套文檔)

    SpringBoot整合Activiti實(shí)現(xiàn)工作流的低代碼系統(tǒng)(附源碼和配套文檔)

    activiti工作流引擎項(xiàng)目,企業(yè)erp、oa、hr、crm等企事業(yè)辦公系統(tǒng)輕松落地,一套完整并且實(shí)際運(yùn)用在多套項(xiàng)目中的案例,滿足日常業(yè)務(wù)流程審批需求。 springboot+vue+activiti集成了activiti在線編輯器,流行的前后端分離部署開發(fā)模式,快速開發(fā)平臺,可插拔工作流服務(wù)。工作流表單

    2024年03月15日
    瀏覽(21)
  • 若依(RuoYi-Vue)+Flowable工作流前后端整合教程

    若依(RuoYi-Vue)+Flowable工作流前后端整合教程

    此教程適合若依前后端分離項(xiàng)目,其他項(xiàng)目可以在擴(kuò)展列表中進(jìn)行查找。 近期公司里需要對很久以前的RuoYi-Vue前后端分離項(xiàng)目擴(kuò)展出flowable的功能,當(dāng)然這個(gè)重任也是落在了我的身上(不然也不會有這篇文章),然后我在官網(wǎng)看到了RuoYi-Vue-Flowable這個(gè)項(xiàng)目,按照文檔提供的遷

    2023年04月21日
    瀏覽(24)
  • 工作流flowable實(shí)現(xiàn)撤回

    Flowable是一個(gè)開源的工作流引擎,可以實(shí)現(xiàn)工作流程的自動(dòng)化管理,包括任務(wù)分配、流轉(zhuǎn)、審批等。如果需要實(shí)現(xiàn)撤回功能,可以考慮以下方案: 在流程定義中添加一個(gè)撤回節(jié)點(diǎn),允許任務(wù)的發(fā)起人在任務(wù)未被處理前撤回任務(wù)。當(dāng)發(fā)起人選擇撤回任務(wù)時(shí),任務(wù)將被撤回至撤回

    2024年02月09日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包