flowable工作流_springboot-flowable 快速开发工作流

介绍

springboot-flowable 快速开发工作流

软件架构

springboot + flowable

使用说明

  1. 将flowable的依赖加入到POM中即可,flowable使用需要一个数据库,这里为了方便我选择mysql
org.springframework.boot spring-boot-starter-web org.flowable flowable-spring-boot-starter 6.3.0mysql mysql-connector-java 5.1.45

2.yml 文件配置

spring: datasource: url: jdbc:mysql://127.0.0.1:3306/flowable-spring-boot?characterEncoding=UTF-8 username: root password: rootflowable:#关闭定时任务JOB async-executor-activate: false

这样操作后,flowable与springBoot的整个就完成了!

然后就可以运行了,初次运行时flowable会将自动执行flowable中的初始化脚本完成工作流所需要的数据表的建立,如果指定的数据库中还未创建过flowable的相关数据表的话。

定义流程文件

ExpenseProcess.bpmn20.xml

<?xml version="1.0" encoding="UTF-8"?>报销流程 500}]]>

其中的两个代理类为:

import org.flowable.engine.delegate.TaskListener;import org.flowable.task.service.delegate.DelegateTask; public class ManagerTaskHandler implements TaskListener {  @Override public void notify(DelegateTask delegateTask) { delegateTask.setAssignee("经理"); } }public class BossTaskHandler implements TaskListener {  @Override public void notify(DelegateTask delegateTask) { delegateTask.setAssignee("老板"); } }

尽管上面的BPMN文件很长,但放心,毕竟那是通过相关的工具生成出来的,对于核心的逻辑部分也很少(主要在process 标签内) ,如需要详细了解的可自行学习下BPMN的标签即可!当然,在flowable的使用文档中也有相关的描述,详见:Creating a ProcessEngine

b5208f131451602af36e3ca078119bc0.png

这样当此框架启动的时候它会默认加载resource目录下的processes时就可以将此流程配置加载到数据库进行持久化了

测试controller

为了方便这里通过一个controller来完成此DEMO的快速编写

@Controller@RequestMapping(value = "expense")public class ExpenseController { @Autowired private RuntimeService runtimeService; @Autowired private TaskService taskService; @Autowired private RepositoryService repositoryService; @Autowired private ProcessEngine processEngine; /***************此处为业务代码******************/}/** * 添加报销 * * @param userId 用户Id * @param money 报销金额 * @param descption 描述 */ @RequestMapping(value = "add") @ResponseBody public String addExpense(String userId, Integer money, String descption) { //启动流程 HashMap map = new HashMap<>(); map.put("taskUser
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值