当前位置: 首页 > 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());}}
}

相关文章:

  • 【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++开发示例 ---纹理贴图四边形
  • 澳大利亚总理阿尔巴尼斯率领工党赢得2025年联邦选举
  • 辛涛任山东第一医科大学副校长,曾为“博士服务团”成员
  • 魔都眼|咖啡节上小孩儿忍不住尝了咖啡香,母亲乐了
  • 金科股份:因信披违规,公司及董事长、总裁、财务负责人等收到行政监管措施决定书
  • 杨轶群任莆田市荔城区人民政府副区长
  • 大学2025丨对话深大人工智能学院负责人李坚强:产学研生态比“造天才”更重要