篮之新喜 发表于 2024-6-13 20:58:25

如何实现Springboot+camunda+mysql的集成

 
本文先容基于mysql数据库,如何实现camunda与springboot的集成,如何实现基于springboot运行camunda开源流程引擎。
 
一、创建springboot工程

 
利用IDEA工具,选择File->New->Project,选择Spring Initialzr
https://img2020.cnblogs.com/blog/2435483/202106/2435483-20210624121700144-1214720812.png
输入springboot工程基本信息,本示例命名为“camunda-demo1”, jdk版本选择8
https://img2020.cnblogs.com/blog/2435483/202106/2435483-20210624121700129-264896724.png
 
在选择springboot组件的时间,需要选择Spring Web、JDBC API、MySql Driver 这三个组件。点击下一步完成即可。
https://img2020.cnblogs.com/blog/2435483/202106/2435483-20210624121700286-1200409371.png
二、修改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文件如下:
    4.0.0    <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.4.3</version>
      <relativePath/>
    </parent>    com.example    camunda-demo1    0.0.1-SNAPSHOT    camunda-demo1    Demo project for Spring Boot            1.8                            org.springframework.boot            spring-boot-starter-web                            org.springframework.boot            spring-boot-starter-jdbc                            mysql            mysql-connector-java            runtime                            org.springframework.boot            spring-boot-starter-test            test                            org.camunda.bpm.springboot            camunda-bpm-spring-boot-starter            7.15.0                            org.camunda.bpm.springboot            camunda-bpm-spring-boot-starter-rest            7.15.0                            org.camunda.bpm.springboot            camunda-bpm-spring-boot-starter-webapp            7.15.0                                                    org.springframework.boot                spring-boot-maven-plugin                        https://img2020.cnblogs.com/blog/2435483/202106/2435483-20210624121640423-1993827297.gifhttps://img2020.cnblogs.com/blog/2435483/202106/2435483-20210624121640423-1993827297.gif 
三、修改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/camunda-715?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: NULLhttps://img2020.cnblogs.com/blog/2435483/202106/2435483-20210624121640423-1993827297.gifhttps://img2020.cnblogs.com/blog/2435483/202106/2435483-20210624121640423-1993827297.gif本示例利用的是mysql数据库,数据库URL、username、 password 跟背面数据库信息生存一致。
四、创建mysql数据库

Camunda默认利用已预先配置好的H2数据库,本示例利用mysql数据库,需要提前创建mysql数据库并导入Camunda建表脚本。
为Camunda平台创建一个数据库模式,名称为camunda715
https://img2020.cnblogs.com/blog/2435483/202106/2435483-20210624121700237-969856149.png
 
导入SQL脚本。执行创建全部必须的表和默认索引的SQL DDL脚本。这些脚本可以在configuration/sql/create文件夹中找到。共2个脚本,都需要导入。
https://img2020.cnblogs.com/blog/2435483/202106/2435483-20210624121700194-356323723.png
导入完成后的表结构,共40张表:
https://img2020.cnblogs.com/blog/2435483/202106/2435483-20210624121700171-538847960.png
 
具体配置方法参考: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);
    }

}
https://img2020.cnblogs.com/blog/2435483/202106/2435483-20210624121700222-1403429659.png
 
六、登录访问camunda

 
访问:http://localhost:8080,
默认账号密码demo/demo
https://img2020.cnblogs.com/blog/2435483/202106/2435483-20210624121700234-1288129600.png
 
登录成功后进入camunda控制台
https://img2020.cnblogs.com/blog/2435483/202106/2435483-20210624121700240-424804410.png
 
至此,完成了springboot2.4.3+camunda7.15+mysql的集成,后续的如何设计流程、如何启动流程、如何审批流程等操作,跟非springboot方式是一致的,请参考前面的文章。
https://lowcode.blog.csdn.net/article/details/117518828
https://lowcode.blog.csdn.net/article/details/118055189
体验环境:http://www.yunchengxc.com
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 如何实现Springboot+camunda+mysql的集成