SpringBoot整合Flowable工作流之流程部署

本文介绍了如何在SpringBoot中整合Flowable工作流,包括默认和动态部署流程,详细解析了流程部署涉及的表结构如DEPLOYMENTS, PROCESSES, TABLES等,并提供了配置和依赖的添加方法。" 20603217,1450189,使用SwiFTP在Android上快速搭建FTP服务器,"['Android开发', 'FTP服务', '开源项目', '文件管理']
摘要由CSDN通过智能技术生成

1. 流程的部署

1.1. Flowable 默认的部署

默认情况下,我们放在 resources/processes 目录下的所有流程文件会自动被部署,流程文件的后缀有两种形式 bpmn20.xml 或者 bpmn。当然,无论是存放流程文件的位置,还是流程文件的格式,都是可以定制的,涉及到的属性主要有三个,可在 application.properties 中进行配置

flowable.check-process-definitions=false
flowable.process-definition-location-prefix=classpath*:/processes/
flowable.process-definition-location-suffixes=**.bpmn20.xml,**.bpmn
  • flowable.check-process-definitions:表示在项目启动的时候,去检查文件目录是否有对应的流程文件,默认值为 true 表示如果有流程文件就自动部署,false 表示不检查,那么也就不会自动部署
  • flowable.process-definition-location-prefix:这个是流程文件的位置,默认就是 classpath*:/processes/,当然开发者也可以进行配置
  • flowable.process-definition-location-suffixes:这个是流程文件的后缀,默认有两个,分别是 **.bpmn20.xml 和 **.bpmn,当然开发者也可以进行配置

1.2. Flowable 的动态部署

有的时候,我们的流程可能并不是提前设计好的,而是项目启动之后,动态部署的,例如项目启动成功之后,动态上传一个流程的 XML 文件进行部署,这也是一种比较常见的场景,对于这种情况,我们可以按照如下方式进行部署

@RestController
public class ProcessDeployController {
   

    @Autowired
    RepositoryService repositoryService;

    @PostMapping("/deploy")
    public RespBean deploy(MultipartFile file) throws IOException {
   
        DeploymentBuilder deploymentBuilder = repositoryService.createDeployment()
                .category("javaboy的工作流分类")
                .name("javaboy的工作流名称")
                .addInputStream(file.getOriginalFilename(), file.getInputStream())
                .key("javaboy的工作流key");
                
        Deployment deployment = deploymentBuilder.deploy();
        return RespBean.ok("部署成功",deployment.getId());
    }
}
  • 关键的方法是 addInputStream,通过该方法去指定流程文
Flowable是一个开源的工作流引擎,该引擎基于BPMN 2.0标准,并提供了一系列的工作流管理和执行功能。 在Flowable工作流面试中,常见的问题可以包括以下几个方面: 1. Flowable的主要特点是什么? Flowable具有以下主要特点: - 开源且免费,易于获取和使用。 - 支持BPMN 2.0标准,提供了丰富的工作流模型和执行功能。 - 可以与Java和Spring等常见的开发框架无缝集成。 - 支持水平和垂直的可扩展性,可以应对大规模工作流的需求。 - 提供了可视化的工作流设计器,提供了良好的业务流程建模体验。 2. Flowable的核心组件有哪些? Flowable的核心组件包括: - "flowable-engine":工作流引擎,负责流程部署、实例化、执行和管理。 - "flowable-task":任务管理模块,负责任务的创建、分配、执行和管理。 - "flowable-form":表单管理模块,提供了与任务相关的表单的创建和管理功能。 - "flowable-rest":REST服务模块,提供了与Flowable引擎交互的REST API。 - "flowable-ui":可视化工作流管理和监控的用户界面。 3. Flowable工作流部署方式有哪些? Flowable工作流部署方式包括: - 通过编程API进行部署,使用Java代码将工作流模型部署Flowable引擎中。 - 通过Flowable设计器进行部署,使用可视化的设计器创建和导出BPMN文件,再将文件部署到引擎中。 - 通过命令行工具进行部署,使用Flowable提供的命令行工具将BPMN文件部署到引擎中。 - 通过REST API进行部署,使用Flowable提供的REST API将BPMN文件上传到引擎中进行部署。 4. Flowable工作流的执行过程是怎样的? Flowable工作流的执行过程包括以下几个步骤: - 部署工作流模型:将工作流模型部署到引擎中,生成相应的流程定义。 - 创建流程实例:基于流程定义,创建一个流程实例,可以进行启动和暂停操作。 - 运行流程:按照流程定义的节点顺序,逐个执行工作流的各个节点,包括任务的创建、分配、执行和完成。 - 监控工作流:可以通过Flowable提供的工作流管理界面或API,实时监控工作流的执行情况和任务状态。 - 完成工作流:当工作流执行到最后一个节点时,流程实例将被标记为已完成,流程结束。 以上是对Flowable工作流面试题的简要回答,希望能帮到您。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值