記camunda入門使用-1(基於spring boot)


准備工作

話不多說,之前使用過Activiti搭建工作流,但在這邊沒有記錄完全,正好最近有一個camunda的項目,就決定同時記錄一下項目的開發過程,以便之后再用到。

spring boot版本為2.2.6.RELEASE,camunda基於camunda-bpm-spring-boot-starter,版本為3.4.2,這邊分了多個module,自己使用可以自行合並

pom文件

父pom部分

   <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.grey</groupId>
    <artifactId>flowdemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>flowdemo</name>
    <description>Demo For Camunnda</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud-alibaba.version>2.2.0.RELEASE</spring-cloud-alibaba.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- swagger2 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.22</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.10</version>
        </dependency>

    </dependencies>

子pom部分

     <dependencies>
        <dependency>
            <groupId>org.camunda.bpm.springboot</groupId>
            <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
            <version>3.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.camunda.bpm.springboot</groupId>
            <artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
            <version>3.4.2</version>
        </dependency>
    </dependencies>

 

配置文件

以下為yaml文件配置

server:
  port: 8081

#camunda 配置
camunda:
  bpm:
    #登錄用戶賬號密碼
    admin-user:
      id: admin
      password: admin
      firstName: admin
    filter:
      create: All tasks
    job-execution:
      enabled: true
    metrics:
      enabled: false
      db-reporter-activate: false

#mysql 數據庫配置 camunda會在啟動時自動在此數據庫中新建表結構
spring:
  application:
    name: camunda-demo
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/camunda?serverTimezone=UTC
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource

 

目錄配置

 需要在工程目錄的resources下,新建META-INF文件夾,里面新建一個processes.xml文件,沒有特殊需求的話默認為空即可。

 

常用方法(20201225)

獲取某個任務的待處理人(組)

        String taskId = "test";

        List<IdentityLink> identityLinks = taskService.getIdentityLinksForTask(taskId);

 


免責聲明!

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



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