`
m17056762031
  • 浏览: 22477 次
文章分类
社区版块
存档分类
最新评论

flowable 启动流程的三种方式

 
阅读更多
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
	}
   
}
 

 

0
0
分享到:
评论

相关推荐

    Flowable-BPMN操作流程部署启动源码

    3. **启动流程实例**: 部署完成后,可以使用`RuntimeService`的`startProcessInstanceByKey()`或`startProcessInstanceById()`方法来启动一个新的流程实例。前者通过流程定义的关键字(key),后者通过已部署流程...

    Flowable 迁移指导:Flowable V5 到 Flowable V6

    Flowable是一个基于Java的轻量级业务流程管理(BPM)平台,它可以用来设计、管理和执行业务流程。随着技术的演进和用户需求的增加,Flowable也在不断地进行更新和迭代,提供更加稳定、高效和用户友好的解决方案。在...

    flowable流程引擎-核心表分析

    Flowable流程引擎核心表分析 流程引擎的核心表是Flowable流程引擎的基础组件,用于存储流程引擎的各种数据。这些表可以配置为在启动时生成,所有的表都以“act_”开头,沿用了Activiti的传统。 Flowable流程引擎...

    flowable6.0官方在线设计

    6. **集成与API**:Flowable 6.0的设计器可以与其他系统集成,如通过RESTful API与后端服务交互,实现数据同步和流程实例的启动。 7. **扩展性**:Flowable的在线设计器具有高度的扩展性,允许开发者自定义表单、...

    activiti画图工具

    总的来说,Flowable画图工具是Flowable BPM平台的重要组成部分,它简化了业务流程的设计过程,提高了工作效率,而"flowable-ui.war"和"flowable-rest.war"文件则提供了完整的Web应用和服务接口,让开发者能够便捷地...

    Flowable分析流程与表.docx

    "Flowable流程分析流程与表" Flowable是一个流程引擎,用于流程自动化和业务流程管理。Flowable提供了强大的流程引擎,可以对流程进行建模、执行和监控。 流程生命周期与数据库表之间的逻辑关系: Flowable流程...

    flowable工作流.zip

    Spring Boot则提供了快速启动和运行环境,简化了配置过程,使得Flowable能够轻松地与其他微服务协同工作。 在实际使用中,你需要了解如何创建和部署流程定义。Flowable提供了API和命令行工具,可以将BPMN XML文件...

    flowable v6.4.2版本中文文档.rar

    2. **表单支持**:Flowable支持与表单集成,允许用户在流程执行过程中填写和提交数据,提高了工作效率。它支持多种类型的表单,如HTML表单和模型驱动的表单。 3. **事件处理**:Flowable具备丰富的事件处理机制,...

    流程引擎(Flowable+Activiti)

    开发者可以使用这些引擎提供的REST API或者Java客户端来启动、查询、干预和结束流程实例。同时,它们都可以与数据库(如MySQL、Oracle等)进行交互,存储和检索流程实例和历史数据。 开发和部署: 在开发过程中,...

    flowable v6.4.2版本中文文档

    BPMN(Business Process Modeling Notation)是一种国际通用的业务流程建模语言,它为业务流程提供了一种图形化的表示方式,使得非技术人员也能理解和参与流程设计。Flowable能够解析并执行这些BPMN 2.0流程定义,...

    springBoot 整合flowable-modeler设计器

    - **启动流程实例**:根据需要,通过API启动流程实例,传入必要参数,如业务键、变量等。 - **查询任务**:获取当前用户的待办任务,完成任务或者转让任务。 - **查询流程实例**:查询流程实例的状态、历史记录等...

    Flowable用户手册中文版(pdf+html)

    5. **API与服务**:讲解Flowable提供的RESTful API和Java API,如何通过这些接口启动流程、查询任务、管理变量等。 6. **监听器与事件处理**:介绍如何定义和使用流程事件监听器,以实现定制化的业务逻辑。 7. **...

    Flowable BPMN 用户手册

    1. **流程定义**:BPMN(Business Process Model and Notation)是一种标准的流程建模语言,Flowable支持全部的BPMN 2.0元素,如事件、任务、网关、泳道等,让流程设计直观且灵活。 2. **事件处理**:Flowable提供...

    flowable-engine-flowable-6.5.0.zip(官方源码)

    Flowable是一款开源的工作流引擎,它基于BPMN 2.0标准,提供了一套强大的业务流程管理和自动化服务。在Flowable 6.5.0版本中,我们可以深入研究其核心组件、架构设计以及实现机制,这对于理解工作流管理系统的运作...

    在SpringBoot中集成flowable流程引擎及modeler可视化流程设计器项目完整源码,附有使用说明文档

    在SpringBoot中集成flowable流程引擎及modeler可视化流程设计器项目完整源码,附有使用说明文档 1、使用开发工具eclipse或者idea等导入项目myflow 2、配置application.properties中的数据库连接,修改用户名和登录...

    springboot-flowable-modeler快速开发工作流, 在线流程设计器

    SpringBoot集成Flowable Modeler是现代企业级应用中实现高效工作流管理的一种常见方式。Flowable是一款开源的工作流引擎,它提供了强大的业务流程自动化能力,包括流程设计、执行和监控。SpringBoot则是一个轻量级的...

    基于SpringBoot的flowable流程引擎+源代码+文档说明

    基于SpringBoot的flowable流程引擎demo项目 *** ### 运行方法 1. clone 项目到本地 2. 修改数据库配置(需要有数据库表创建权限) 3. 通过数据库工具执行db/init.sql 4. Maven拉取完成之后运行...

Global site tag (gtag.js) - Google Analytics