Springboot整合camunda+mysql的集成流程分析

一、创建springboot工程

使用IDEA工具,选择File->New->Project,选择Spring Initialzr

输入springboot工程基本信息,本示例命名为“camunda-demo1”, jdk版本选择8

在选择springboot组件的时候,需要选择Spring Web、JDBC API、MySql Driver 这三个组件。点击下一步完成即可。

二、修改maven配置

2.1、修改springboot版本号

由于camunda版本与springboot版本有匹配关系,所以需要修改springboot版本为2.4.3,

官方推荐Camunda7.1.5版本使用Spring Boot 2.4.x版本

具体配置参考camunda官方说明文档:https://docs.camunda.org/manual/7.15/user-guide/spring-boot-integration/version-compatibility/

Pom.xm代码片段:

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.3</version>
        <relativePath/>
    </parent>

2.2、引入camunda包

由于本示例要使用camunda流程引擎、web界面、Rest服务接口,所以需要导入camunda-bpm-spring-boot-starter、camunda-bpm-spring-boot-starter-rest、camunda-bpm-spring-boot-starter-webapp这三个依赖包,如果仅仅是使用流程引擎,只需要引入camunda-bpm-spring-boot-starter就可以了。

完整的pom.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-parent</artifactId>

        <version>2.4.3</version>

        <relativePath/> <!-- lookup parent from repository -->

    </parent>

    <groupId>com.example</groupId>

    <artifactId>camunda-demo1</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    <name>camunda-demo1</name>

    <description>Demo project for Spring Boot</description>

    <properties>

        <java.version>1.8</java.version>

    </properties>

    <dependencies>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-jdbc</artifactId>

        </dependency>

        <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

            <scope>runtime</scope>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-test</artifactId>

            <scope>test</scope>

        </dependency>

        <dependency>

            <groupId>org.camunda.bpm.springboot</groupId>

            <artifactId>camunda-bpm-spring-boot-starter</artifactId>

            <version>7.15.0</version>

        </dependency>

        <dependency>

            <groupId>org.camunda.bpm.springboot</groupId>

            <artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>

            <version>7.15.0</version>

        </dependency>

        <dependency>

            <groupId>org.camunda.bpm.springboot</groupId>

            <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>

            <version>7.15.0</version>

        </dependency>

    </dependencies>

    <build>

        <plugins>

            <plugin>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-maven-plugin</artifactId>

            </plugin>

        </plugins>

    </build>

</project>

三、修改application.yaml配置

打开工程目录下的main\resources\application.yaml文件,如果没有该文件,手动新建一个,录入如下信息。

# Find more available configuration properties on the following pages of the documentation.

# https://docs.camunda.org/manual/latest/user-guide/camunda-bpm-run/#configure-camunda-bpm-run

# https://docs.camunda.org/manual/latest/user-guide/spring-boot-integration/configuration/#camunda-engine-properties

camunda.bpm:

  generic-properties.properties:

     javaSerializationFormatEnabled: true

  admin-user:

    id: demo

    password: demo

  run:

# https://docs.camunda.org/manual/latest/user-guide/camunda-bpm-run/#cross-origin-resource-sharing

    cors:

      enabled: true

      allowed-origins: "*"

# datasource configuration is required

spring.datasource:

  url: jdbc:mysql://127.0.0.1:3306/camunda715?characterEncoding=UTF-8&useUnicode=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai

  driver-class-name: com.mysql.cj.jdbc.Driver

  username: root

  password: root

# By default, Spring Boot serves static content from any directories called /static or /public or /resources or

# /META-INF/resources in the classpath. To prevent users from accidentally sharing files, this is disabled here by setting static locations to NULL.

# https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-spring-mvc-static-content

spring.web.resources:

  static-locations: NULL

本示例使用的是mysql数据库,数据库URL、username、 password 跟后面数据库信息保存一致。

四、创建mysql数据库

Camunda默认使用已预先配置好的H2数据库,本示例使用mysql数据库,需要提前创建mysql数据库并导入Camunda建表脚本。

为Camunda平台创建一个数据库模式,名称为camunda715

导入SQL脚本。执行创建所有必需的表和默认索引的SQL DDL脚本。这些脚本可以在configuration/sql/create文件夹中找到。共2个脚本,都需要导入。

导入完成后的表结构,共40张表:

详细配置方法参考:https://lowcode.blog.csdn.net/article/details/117564836

五、启动springboot工程

创建springboot工程的时候,自动生成了SpringBootApplication启动类,运行改类启动即可。

package com.example.demo1;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class CamundaDemo1Application {

public static void main(String[] args) {
SpringApplication.run(CamundaDemo1Application.class, args);
}

}

六、登录访问camunda

访问:http://localhost:8080,

默认账号密码demo/demo

登录成功后进入camunda控制台

至此,完成了springboot2.4.3+camunda7.15+mysql的集成,后续的如何设计流程、如何启动流程、如何审批流程等操作,跟非springboot方式是一致的,请参考前面的文章。

https://lowcode.blog.csdn.net/article/details/117518828

https://lowcode.blog.csdn.net/article/details/118055189

以上就是Springboot整合camunda+mysql的集成实现方法的详细内容,更多关于Springboot整合camunda的资料请关注我们其它相关文章!

(0)

相关推荐

  • 解决springboot 连接 mysql 时报错 using password: NO的方案

    最近使用 springboot 配置 mysql 时出现了一个错误 Access denied for user ''@'localhost' (using password: YES) 或者 Access denied for user ''@'localhost' (using password: NO) 经发现这是 springboot 中 yml 语法的的一个坑,在我现在用的最新版本2.2.4 的springBoot中所推荐 yml 的格式是 data-username: root da

  • Spring Boot高级教程之Spring Boot连接MySql数据库

    Spring Boot可以大大简化持久化任务,几乎不需要写SQL语句,在之前章节"Spring Boot 构建框架"中我们新建了一个Spring Boot应用程序,本章在原有的工程中与数据库建立连接. Spring Boot有两种方法与数据库建立连接,一种是使用JdbcTemplate,另一种集成Mybatis,下面分别为大家介绍一下如何集成和使用这两种方式. 1. 使用JdbcTemplate <dependency> <groupId>mysql</g

  • Spring boot连接MySQL 8.0可能出现的问题

    前言 在学习任何一个后端技术,如果不让数据库参与进来,那只能说在学习过程中都不算完整的. 以前用的是5.7版本的MySQL,在学习实践Springboot的时候顺带升级了一下8.0,遇到了一些坑,在这记录一下,有碰到同类问题的童鞋需要自取. 下面话不多说了,来一起看看详细的介绍吧 1.使用 navicat连接发现报错1251- Client does not support authentication protocol 错误 这个笔者查询资料发现是新版本的加密规则变了,在mysql8之后,加密

  • spring boot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置方法

    此方法为极简配置,支持MySQL数据库多库连接.支持Hikari连接池.支持MyBatis(包括Dao类和xml文件位置的配置). 1.pom.xml中引入依赖: <!-- Begin of DB related --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId>

  • spring boot整合mybatis利用Mysql实现主键UUID的方法

    前言 本文主要给大家介绍了关于spring boot整合mybatis利用Mysql实现主键UUID的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 实现 基础项目的pom.xml部分代码如下 <properties> <java.version>1.8</java.version> </properties> <!-- Inherit defaults from Spring Boot --> <parent&

  • springboot基于Mybatis mysql实现读写分离

    近日工作任务较轻,有空学习学习技术,遂来研究如果实现读写分离.这里用博客记录下过程,一方面可备日后查看,同时也能分享给大家(网上的资料真的大都是抄来抄去,,还不带格式的,看的真心难受). 完整代码:https://github.com/FleyX/demo-project/tree/master/dxfl 1.背景 一个项目中数据库最基础同时也是最主流的是单机数据库,读写都在一个库中.当用户逐渐增多,单机数据库无法满足性能要求时,就会进行读写分离改造(适用于读多写少),写操作一个库,读操作多个库

  • Springboot整合camunda+mysql的集成流程分析

    一.创建springboot工程 使用IDEA工具,选择File->New->Project,选择Spring Initialzr 输入springboot工程基本信息,本示例命名为"camunda-demo1", jdk版本选择8 在选择springboot组件的时候,需要选择Spring Web.JDBC API.MySql Driver 这三个组件.点击下一步完成即可. 二.修改maven配置 2.1.修改springboot版本号 由于camunda版本与sprin

  • Springboot整合JPA配置多数据源流程详解

    目录 1. Maven 2. 基本配置 DataSource 3. 多数据源配置 3.1 JpaConfigOracle 3.2 JpaConfigMysql 4. Dao层接口 1. Maven <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>

  • SpringBoot整合GitLab-CI实现持续集成的过程

    目录 写在前面 一.概述 1.1.什么是CI/CD 1.2.持续集成(CI) 1.3.持续交付(CD) 二.CI/CD流水线 2.1.Pipeline 2.2.Stages 2.3.Jobs 2.4.Runners 三.安装GitLab Runner 3.1.环境准备 3.2.创建Dockerfile 3.3.创建docker-compose 3.4.注册Runner 3.4.项目配置 3.4.1.依赖管理模块 3.4.2.通用模块 3.4.3.服务模块 写在前面 在企业开发过程中,我们开发的功

  • SpringBoot整合Mybatis与druid实现流程详解

    目录 SpringBoot整合junit SpringBoot整合junit SpringBoot整合junit的classes SpringBoot整合Mybatis 整合前的准备 整合Mybatis SpringBoot 整合druid 配置前置知识小点 整合druid SpringBoot整合junit SpringBoot整合junit ①还是一样,我们首先创建一个SpringBoot模块. 由于我们并不测试前端,而只是整合junit,所以不用选择模板,选择其中的web即可. 完成以后我

  • 详解Springboot整合Dubbo之代码集成和发布

    本文介绍了Springboot整合Dubbo之代码集成和发布,分享给大家,具体如下: 1. boot-dubbo-api相关 打开boot-dubbo-api项目,正在src/main/java下创建一个包,并创建你需要dubbo暴露的接口TestService.java,并创建一个实体类用于测试User.java.如下图所示: 创建文件和包结构 User.java package com.boot.domain; import lombok.Data; import java.io.Seria

  • springboot 基于Tomcat容器的自启动流程分析

    Springboot 内置了Tomcat的容器,我们今天来说一下Springboot的自启动流程. 一.Spring通过注解导入Bean大体可分为四种方式,我们主要来说以下Import的两种实现方法: 1.通过实现ImportSerlector接口,实现Bean加载: public class TestServiceImpl { public void testImpl() { System.out.println("我是通过importSelector导入进来的service");

  • springboot+camunda实现工作流的流程分析

    1.在camunda modeler工具里面写流程,任务执行指明Java类 2.保存文件放在resources目录下,并建立一个processes.xml的空文件 3.依赖配置 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </depe

  • SpringBoot整合SpringTask实现定时任务的流程

    半藏商城中会有一些用户提交了订单但是一直没有支付的情况,之前我是通过quartz定时任务每天的5点扫描未支付订单然后读取用户的邮箱地址发送邮件提醒用户尽快支付.这次我是采用Spring中自带的SpringTask来进行定时任务. Cron表达式 Cron表达式是一个字符串,包括6~7个时间元素,在SpringTask中可以用于指定任务的执行时间. Cron的语法格式 Seconds Minutes Hours DayofMonth Month DayofWeek Cron格式中每个时间元素的说明

  • Java SpringBoot @Async实现异步任务的流程分析

    目录 1.同步任务 2.@Async 异步任务-无返回值 3.@Async 异步任务-有返回值 4.@Async + 自定义线程池 5.CompletableFuture 实现异步任务 依赖pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://

  • SpringBoot可以同时处理多少请求流程分析

    目录 前言 正文 延伸:并发问题是如何产生的 前言 前两天面试的时候,面试官问我:一个ip发请求过来,是一个ip对应一个线程吗?我突然愣住了,对于SpringBoot如何处理请求好像从来没仔细思考过,所以面试结束后就仔细研究了一番,现在就来探讨一下这个问题. 正文 我们都知道,SpringBoot默认的内嵌容器是Tomcat,也就是我们的程序实际上是运行在Tomcat里的.所以与其说SpringBoot可以处理多少请求,到不如说Tomcat可以处理多少请求. 关于Tomcat的默认配置,都在sp

随机推荐