# FlowableSpringB3 **Repository Path**: dushuren/flowable-spring-b3 ## Basic Information - **Project Name**: FlowableSpringB3 - **Description**: SpringBoot3 + Flowable7 的学习笔记 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-05-01 - **Last Updated**: 2025-05-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 1. docker compose 部署 flowable-ui ```yaml services: flowable-ui: image: registry.cn-beijing.aliyuncs.com/an_docker/flowable-ui:latest container_name: flowable-ui hostname: flowable-ui # restart: always volumes: # mysql8驱动jar包自己上网上找 - ./mysql-connector-java-8.0.19.jar:/app/WEB-INF/lib/mysql-connector-java-8.0.19.jar environment: - TZ=Asia/Shanghai - spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # mysql8驱动 - spring.datasource.url=jdbc:mysql://ip一定要是docker能访问到的数据库ip:port/数据库名?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull&useSSL=false&nullCatalogMeansCurrent=true - spring.datasource.username=用户名 # 数据库账号 - spring.datasource.password=密码 # 数据库密码 - flowable.async-executor-activate=false # 关闭定时任务JOB - flowable.database-schema-update=true # 当Flowable发现库与数据库表结构不一致时,会自动将数据库表结构升级至新版本 ports: - "8800:8080" privileged: true logging: driver: "json-file" options: max-size: "500m" networks: - network-flowable-ui networks: network-flowable-ui: driver: "bridge" ``` ```shell docker-compose up -d ``` # 2. 创建java项目 # 3. 简单的分配 在当前实例中会体现固定分配、表达式分配、函数调用分配、监听器分配四种分配节点用户的方式 1. 绘制流程图 ![简单的分配方式01-流程定义.png](img/%E7%AE%80%E5%8D%95%E7%9A%84%E5%88%86%E9%85%8D%E6%96%B9%E5%BC%8F01-%E6%B5%81%E7%A8%8B%E5%AE%9A%E4%B9%89.png) 2. 每个用户任务单机后点“分配用户”(除了监听器外) ![简单的分配方式02-点击分配用户.png](img/%E7%AE%80%E5%8D%95%E7%9A%84%E5%88%86%E9%85%8D%E6%96%B9%E5%BC%8F02-%E7%82%B9%E5%87%BB%E5%88%86%E9%85%8D%E7%94%A8%E6%88%B7.png) 3. 固定值分配 ![简单的分配方式03-固定值分配.png](img/%E7%AE%80%E5%8D%95%E7%9A%84%E5%88%86%E9%85%8D%E6%96%B9%E5%BC%8F03-%E5%9B%BA%E5%AE%9A%E5%80%BC%E5%88%86%E9%85%8D.png) 4. 表达式分配 ![简单的分配方式04-表达式分配.png](img/%E7%AE%80%E5%8D%95%E7%9A%84%E5%88%86%E9%85%8D%E6%96%B9%E5%BC%8F04-%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%88%86%E9%85%8D.png) 5. 方法调用分配 ![简单的分配方式05-函数调用分配.png](img/%E7%AE%80%E5%8D%95%E7%9A%84%E5%88%86%E9%85%8D%E6%96%B9%E5%BC%8F05-%E5%87%BD%E6%95%B0%E8%B0%83%E7%94%A8%E5%88%86%E9%85%8D.png) 6. 监听器分配 ![简单的分配方式06-监听器分配1.png](img/%E7%AE%80%E5%8D%95%E7%9A%84%E5%88%86%E9%85%8D%E6%96%B9%E5%BC%8F06-%E7%9B%91%E5%90%AC%E5%99%A8%E5%88%86%E9%85%8D1.png) ![简单的分配方式06-监听器分配2.png](img/%E7%AE%80%E5%8D%95%E7%9A%84%E5%88%86%E9%85%8D%E6%96%B9%E5%BC%8F06-%E7%9B%91%E5%90%AC%E5%99%A8%E5%88%86%E9%85%8D2.png) 7. 新建单元测试 [FlowableTests01.java](src/test/java/org/flowable/flowablespringb3/FlowableTests01.java) # 4. 候选人 分配 1. 绘制流程图 ![候选人分配方式01-流程定义.png](img/%E5%80%99%E9%80%89%E4%BA%BA%E5%88%86%E9%85%8D%E6%96%B9%E5%BC%8F01-%E6%B5%81%E7%A8%8B%E5%AE%9A%E4%B9%89.png) 2. 点击候选人 用户任务 点击分配用户 ![候选人分配方式02-添加三个表达式的候选人.png](img/%E5%80%99%E9%80%89%E4%BA%BA%E5%88%86%E9%85%8D%E6%96%B9%E5%BC%8F02-%E6%B7%BB%E5%8A%A0%E4%B8%89%E4%B8%AA%E8%A1%A8%E8%BE%BE%E5%BC%8F%E7%9A%84%E5%80%99%E9%80%89%E4%BA%BA.png) 3. 点击候选人组 用户任务 点击分配用户 ![候选人分配方式03-写候选人组名称.png](img/%E5%80%99%E9%80%89%E4%BA%BA%E5%88%86%E9%85%8D%E6%96%B9%E5%BC%8F03-%E5%86%99%E5%80%99%E9%80%89%E4%BA%BA%E7%BB%84%E5%90%8D%E7%A7%B0.png) 这里就用固定值的分配方式填写候选人组 4. 新建单元测试