springboot+camunda實現工作流-1


1.在camunda modeler工具里面寫流程,任務執行指明Java類

 

 2.保存文件放在resources目錄下,並建立一個processes.xml的空文件

 

 3.依賴配置

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- camunda依賴 -->
        <dependency>
            <groupId>org.camunda.bpm.springboot</groupId>
            <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
            <version>3.4.1</version>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
    </dependencies>

4.yml配置:建立一個空數據庫既可以,運行后會自動建表

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/camunda
    username: root
    password: root
camunda:
  bpm:
    admin-user:
      id: admin
      password: admin
      first-name: admin
    filter:
      create: All tasks
    #指定數據庫類型
      database:
          type: mysql
    #自動部署resources下面的bpmn文件
    auto-deployment-enabled: true
    #禁止index跳轉到Camunda自帶的管理界面,默認true
#    webapp:
#      index-redirect-enabled: false

5.編寫任務中的Java執行類

package com.example.camunda.email;

import org.camunda.bpm.engine.delegate.DelegateExecution;
import org.camunda.bpm.engine.delegate.JavaDelegate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @program: camunda
 * @description: 發送郵件
 * @author: Mr.HuangDaDa
 * @create: 2021-12-28 17:08
 **/
public class SendEmail implements JavaDelegate {
    private final Logger logger = LoggerFactory.getLogger(SendEmail.class);
    @Override
    public void execute(DelegateExecution execution) throws Exception {
        logger.info("發郵件成功!!!");
    }
}

6.登錄執行,點擊tasklist,

 

 

 

 

 

 7.結果:已經成功執行任務

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM