package org.fh.controller.act; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.fh.controller.base.BaseController; import org.flowable.common.engine.impl.identity.Authentication; import org.flowable.engine.RuntimeService; import org.flowable.engine.runtime.ProcessInstance; /** * 说明:启动流程用 * 作者:FH Admin * from:fhadmin.cn */ public class AcStartController extends BaseController { @Autowired private RuntimeService runtimeService; //与正在执行的流程实例和执行对象相关的Service(执行管理,包括启动、推进、删除流程实例等操作) /**通过KEY启动流程实例(不带变量) * @param processInstanceKey //流程定义的KEY * @return 返回流程实例ID */ protected String startProcessInstanceByKey(String processInstanceKey){ ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processInstanceKey); //用流程定义的KEY启动,会自动选择KEY相同的流程定义中最新版本的那个(KEY为模型中的流程唯一标识) return processInstance.getId(); //返回流程实例ID } /**通过KEY启动流程实例(带变量) * @param processInstanceKey 流程定义的KEY * @param map 存流程变量 * @param USERNAME 流程发起人 * @return 返回流程实例ID */ protected String startProcessInstanceByKeyHasVariables(String processInstanceKey,Map<String,Object> map, String USERNAME){ Authentication.setAuthenticatedUserId(USERNAME);//设置流程发起人 ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processInstanceKey, map); //map存储变量 用流程定义的KEY启动,会自动选择KEY相同的流程定义中最新版本的那个(KEY为模型中的流程唯一标识) Authentication.setAuthenticatedUserId(null);//这个方法最终使用一个ThreadLocal类型的变量进行存储,也就是与当前的线程绑定,所以流程实例启动完毕之后,需要设置为null,防止多线程的时候出问题。 return processInstance.getId(); //返回流程实例ID } /**通过ID启动流程实例 * @param processInstanceId //流程定义的ID * @return 返回流程实例ID */ protected String startProcessInstanceById(String processInstanceId){ ProcessInstance processInstance = runtimeService.startProcessInstanceById(processInstanceId); //用流程定义的ID启动 return processInstance.getId(); //返回流程实例ID } }
相关推荐
在"Flowable-BPMN操作流程部署启动源码"中,我们可以了解到如何通过编程方式来实现Flowable的流程部署和启动。这通常涉及到以下步骤: 1. **创建流程定义**: 使用BPMN 2.0标准的XML文件描述流程。这个文件包含了...
Flowable流程引擎核心表分析 流程引擎的核心表是Flowable流程引擎的基础组件,用于存储流程引擎的各种数据。这些表可以配置为在启动时生成,所有的表都以“act_”开头,沿用了Activiti的传统。 Flowable流程引擎...
Flowable是一个基于Java的轻量级业务流程管理(BPM)平台,它可以用来设计、管理和执行业务流程。随着技术的演进和用户需求的增加,Flowable也在不断地进行更新和迭代,提供更加稳定、高效和用户友好的解决方案。在...
当启动一个流程实例时,Flowable会根据流程定义创建实例,并管理其执行过程。 3. **任务(Task)**:任务是流程中的工作单元,可以分配给不同的参与者。Flowable提供了丰富的任务API,如任务查询、任务完成、任务...
"Flowable流程分析流程与表" Flowable是一个流程引擎,用于流程自动化和业务流程管理。Flowable提供了强大的流程引擎,...2. 在流程启动时,传入业务键,例如:workflowService.startProcess(key,businessKey,vars)。
6. **集成与API**:Flowable 6.0的设计器可以与其他系统集成,如通过RESTful API与后端服务交互,实现数据同步和流程实例的启动。 7. **扩展性**:Flowable的在线设计器具有高度的扩展性,允许开发者自定义表单、...
总的来说,Flowable画图工具是Flowable BPM平台的重要组成部分,它简化了业务流程的设计过程,提高了工作效率,而"flowable-ui.war"和"flowable-rest.war"文件则提供了完整的Web应用和服务接口,让开发者能够便捷地...
在SpringBoot中集成flowable流程引擎及modeler可视化流程设计器项目完整源码,附有使用说明文档 1、使用开发工具eclipse或者idea等导入项目myflow 2、配置application.properties中的数据库连接,修改用户名和登录...
基于SpringBoot的flowable流程引擎demo项目 *** ### 运行方法 1. clone 项目到本地 2. 修改数据库配置(需要有数据库表创建权限) 3. 通过数据库工具执行db/init.sql 4. Maven拉取完成之后运行...
Flowable是一款开源的工作流引擎,它基于BPMN 2.0标准,提供了一套强大的业务流程管理和自动化服务。在Flowable 6.5.0版本中,我们可以深入研究其核心组件、架构设计以及实现机制,这对于理解工作流管理系统的运作...
Spring Boot则提供了快速启动和运行环境,简化了配置过程,使得Flowable能够轻松地与其他微服务协同工作。 在实际使用中,你需要了解如何创建和部署流程定义。Flowable提供了API和命令行工具,可以将BPMN XML文件...
开发者可以使用这些引擎提供的REST API或者Java客户端来启动、查询、干预和结束流程实例。同时,它们都可以与数据库(如MySQL、Oracle等)进行交互,存储和检索流程实例和历史数据。 开发和部署: 在开发过程中,...
- **配置启动类**:创建Spring Boot启动类,并启用Flowable的AutoConfiguration,这将自动初始化流程引擎。 - **配置数据源**:确保Spring Boot应用配置了数据源,因为Flowable需要连接数据库存储流程定义和实例...
Flowable BPMN是一款开源的工作流引擎,它基于BPMN 2.0标准,提供了强大的业务流程管理和工作流实现能力。对于开发人员来说,能够在一个高效、直观的环境中设计和管理流程模型是至关重要的,而IntelliJ IDEA作为Java...
总的来说,SpringBoot集成Flowable Modeler为开发者提供了快速构建工作流应用的平台,它简化了流程设计、部署和执行的过程,同时也为企业提供了强大的流程管理能力。通过深入理解和熟练运用这些知识点,我们可以构建...
Flowable是一款开源的工作流引擎,它基于Activiti项目并进行了扩展和优化,专注于提供高度灵活、可扩展的业务流程自动化解决方案。Flowable以其强大的BPMN(Business Process Model and Notation)2.0支持,成为了...
2. **流程实例管理**:Flowable引擎负责启动、暂停、恢复和结束流程实例。它跟踪每个实例的状态,并根据流程定义自动推进流程的执行。此外,还支持对历史流程实例的查询和分析,以便进行流程优化。 3. **任务管理**...
5. **API与服务**:讲解Flowable提供的RESTful API和Java API,如何通过这些接口启动流程、查询任务、管理变量等。 6. **监听器与事件处理**:介绍如何定义和使用流程事件监听器,以实现定制化的业务逻辑。 7. **...
- **Java 代码**:实现与 Flowable 引擎的交互,如启动流程实例、查询任务、完成任务等操作。 - **测试用例**:展示如何在单元测试中运行和验证请假流程。 - **配置文件**:配置数据库连接、流程引擎设置等。 通过...