本文共 2173 字,大约阅读时间需要 7 分钟。
Flowable 是一款流程引擎,支持流程建模、执行和管理,适用于企业级工作流解决方案。本文将介绍 Flowable 的安装配置、工作流模型创建以及项目开发实现。
下载 Flowable 引擎
访问 Flowable 官方网站,下载最新版本的 Flowable-6.6.0.zip 文件。将压缩包中的 flowable-6.6.0\wars\flowable-ui.war 部署到 Tomcat服务器中运行。启动 Flowable UI
打开 Tomcat 服务器地址http://localhost:8080/flowable-ui,使用默认账户 admin/test 登录。 创建工作流模型
在 Flowable UI 的 APP.MODELER 模型中绘制流程图。流程图元素包括:在项目 pom.xml 中添加以下依赖:
org.flowable flowable-spring-boot-starter 6.6.0 mysql mysql-connector-java 5.1.45
在项目根目录下创建 application.yml 文件:
spring: datasource: url: jdbc:mysql://localhost:3306/flowable?useSSL=false&characterEncoding=UTF-8&serverTimezone=GMT+8 driver-class-name: com.mysql.jdbc.Driver username: root password: 123456
Flowable 提供多种核心服务接口:
将 Flowable 的 BPMN 文件导入项目,使用 RepositoryService 部署流程定义。例如,部署 leave_approval.bpmn20.zip 文件:
Deployment deployment = repositoryService.createDeployment() .addZipInputStream(zipInputStream) .deploy();
使用 RuntimeService 启动流程实例:
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey( "leave_approval", "schoolleave");
根据业务需求分配任务执行用户,使用 TaskService 查询和完成任务:
ListtaskList = taskService.createTaskQuery() .taskCandidateGroup("stu_group") .orderByTaskCreateTime().desc() .list();for (Task task : taskList) { taskService.claim(task.getId(), "my"); taskService.complete(task.getId());}
在 Flowable UI 中,保留流程模型文件并设置流条件。例如,网关出口设置条件表达式:
${command == 'agree'} 在用户任务节点中设置候选组或直接分配到指定用户。例如:
将流程文件导出为 ZIP 格式,方便部署和使用。
Flowable 提供强大的安全功能,包括:
通过 IdentityService 配置用户和组,确保流程执行安全高效。
以请假审批流程为例:
通过以上配置和实现,可以快速搭建 Flowable 工作流系统,满足企业级流程管理需求。
欢迎关注我的技术博客,获取更多实用文章与源码分享。
转载地址:http://msqfk.baihongyu.com/