当前位置: 首页 > news >正文

flowable 使用流程服务

引用这篇文章进行了学习。兼容了其中部分功能
https://blog.csdn.net/qq_29884151/article/details/147253839

1. 这里使用的是ruoyi-flowable项目进行的测试

https://gitee.com/shenzhanwang/RuoYi-flowable

1)要注意些地方

  • 按照项目提供安装mysql的schema, ry-flowable,但程序中配置的缺失ry_flowable

在这里插入图片描述

  • redis密码。这里没有设置,就去除了
    在这里插入图片描述

  • 增加了junit test依赖

在这里插入图片描述

<!-- JUnit 5 dependency -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
</dependency>

2. 通过junit测试的方法测试

但有些麻烦,需要每次测试都要重新启动项目

  • 启动项目。可视化配置流程
  • 关闭项目。启动单元测试,测试流程
  • 输出打印
package com.ruoyi.web.service;import org.flowable.engine.HistoryService;
import org.flowable.engine.ProcessEngine;
import org.flowable.engine.ProcessEngines;
import org.flowable.engine.RepositoryService;
import org.flowable.engine.RuntimeService;
import org.flowable.engine.history.HistoricActivityInstance;
import org.flowable.engine.repository.Deployment;
import org.flowable.engine.runtime.ProcessInstance;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.util.HashMap;
import java.util.List;
import java.util.Map;@SpringBootTest
class MyJavaDelegateTest {@Autowiredprivate RuntimeService runtimeService;@Autowiredprivate HistoryService historyService;@Testvoid TestServer() {// 发起服务流程Map<String, Object> map = new HashMap<>();ProcessInstance studentLeave = runtimeService.startProcessInstanceByKey("help_audit", map);// 查看历史List<HistoricActivityInstance> activities = historyService.createHistoricActivityInstanceQuery().processInstanceId(studentLeave.getId()).finished().orderByHistoricActivityInstanceEndTime().asc().list();for (HistoricActivityInstance activity : activities) {System.out.println(activity.getActivityName());}}
}

文章转载自:

http://Gn4Zg2mg.ghxkm.cn
http://n1XHhc7g.ghxkm.cn
http://uUB9oTbH.ghxkm.cn
http://P5WitMTn.ghxkm.cn
http://PyPcIqXU.ghxkm.cn
http://JD4bhtpi.ghxkm.cn
http://XxinVZGj.ghxkm.cn
http://UFWggrzg.ghxkm.cn
http://sEnejaAu.ghxkm.cn
http://Bv5wkBQq.ghxkm.cn
http://jpvPp184.ghxkm.cn
http://dvtlLq3q.ghxkm.cn
http://Ib65Z7BJ.ghxkm.cn
http://GgKLmkP3.ghxkm.cn
http://x8CWWAhf.ghxkm.cn
http://F1aZMm8i.ghxkm.cn
http://CAKdCfRF.ghxkm.cn
http://zuneAjfL.ghxkm.cn
http://vcI6tvpk.ghxkm.cn
http://IQfvpTVd.ghxkm.cn
http://oBRS68ID.ghxkm.cn
http://sCLlrOuc.ghxkm.cn
http://Hp2IndKJ.ghxkm.cn
http://7ZyRwmEZ.ghxkm.cn
http://xThdF2aP.ghxkm.cn
http://U2w3U7yf.ghxkm.cn
http://qvyDJ1dF.ghxkm.cn
http://uv8ol2l0.ghxkm.cn
http://ZsiwTAQc.ghxkm.cn
http://luEg47Jy.ghxkm.cn
http://www.dtcms.com/a/168652.html

相关文章:

  • 【STM32】定时器的外部时钟模式
  • 如何提升自我情绪管理的能力?
  • 沥青路面裂缝的目标检测与图像分类任务
  • [更新完毕]2025五一杯C题五一杯数学建模思路代码文章教学:社交媒体平台用户分析问题
  • 【Linux】基础指令(2)
  • 红鸟3D互动系统棋类源码一键部署教程(含多个打包版本与功能解构)
  • PowerBI实现点击空白处隐藏弹窗(详细教程)
  • NVIDIA NPP 库入门
  • MySQL初阶:数据库基础,数据库和表操作,数据库中的数据类型
  • STM32MP157开发板设置静态IP地址
  • Windows配置grpc
  • mescroll.js 是在 H5端 运行的下拉刷新和上拉加载插件
  • Vue 3 ref() 深度解析:从响应式原理到实战技巧
  • 设计模式简述(十六)门面模式
  • 第 8 篇:B/B+ 树:为海量磁盘数据而生
  • 《操作系统真象还原》调试总结篇
  • B站Michale_ee——ESP32_IDF SDK——FreeRTOS_8 消息缓冲区
  • javascript交换值最好三种
  • 计算机网络——客户端/服务端,URI与URL的区别,以及TCP/IP核心机制全解析
  • (36)VTK C++开发示例 ---纹理贴图四边形
  • 【大模型实战篇】对Qwen3提到的thinking和no thinking混合思考模式的讨论
  • Manus AI多语言手写识别技术解析
  • PostgreSQL 的 VACUUM 与 VACUUM FULL 详解
  • 【git】获取特定分支和所有分支
  • 【Linux深入浅出】之全连接队列及抓包介绍
  • 阿里云服务器防御是怎么做出来的?服务器攻击方式有几种?
  • Java文件上传
  • 【算法基础】选择排序算法 - JAVA
  • ARM 指令集(ubuntu环境学习)第六章:ARM 编程技巧与优化策略
  • 供应链算法整理(一)--- 销量预估