Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >主流工作流引擎 flowable 三种方式部署流程

主流工作流引擎 flowable 三种方式部署流程

原创
作者头像
FHAdmin
发布于 2022-04-28 09:29:51
发布于 2022-04-28 09:29:51
95600
代码可运行
举报
文章被收录于专栏:FHADMINFHADMIN
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	/**部署流程定义(根据ui.modeler的 modelId部署)
	 * @param modelId 模型ID
	 * @from fhadmin.cn
	 */
	protected String deploymentProcessDefinitionFromUIModelId(String modelId) throws Exception{
		Model model = modelService.getModel(modelId);
		BpmnModel bpmnModel = modelService.getBpmnModel(model);
		Deployment deployment = repositoryService.createDeployment()
		.name(model.getName())
		.addBpmnModel(model.getKey() + ".bpmn", bpmnModel).deploy();
        return deployment.getId();	//部署ID
	}
	
	/**部署流程定义(从Classpath)
	 * @param name		//部署名称
	 * @param xmlpath	//xml文件路径
	 * @param pngpath	//png文件路径
	 * @from fhadmin.cn
	 */
	protected String deploymentProcessDefinitionFromClasspath(String name, String xmlpath, String pngpath){
		DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();		//创建部署对象
		deploymentBuilder.name(name);						//部署名称
		deploymentBuilder.addClasspathResource(xmlpath);	//从文件中读取xml资源
		deploymentBuilder.addClasspathResource(pngpath);	//从文件中读取png资源
		Deployment deployment = deploymentBuilder.deploy();	//完成部署
		return deployment.getId();							//部署ID
	}
	
	/**部署流程定义(从zip压缩包)
	 * @param name		//部署名称
	 * @param zippath	//zip文件路径
	 * @from fhadmin.cn
	 * @throws FileNotFoundException 
	 */
	protected String deploymentProcessDefinitionFromZip(String name, String zippath) throws Exception{
		File outfile = new File(zippath);
		FileInputStream inputStream = new FileInputStream(outfile);
		ZipInputStream ipInputStream = new ZipInputStream(inputStream);
		DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();		//创建部署对象
		deploymentBuilder.name(name);						//部署名称
		deploymentBuilder.addZipInputStream(ipInputStream);
		Deployment deployment = deploymentBuilder.deploy();	//完成部署
		ipInputStream.close();
		inputStream.close();
		return deployment.getId();							//部署ID
	}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
flowable 部署流程定义(从Classpath) 和 (根据ui.modeler的 modelId部署)
/**部署流程定义(根据ui.modeler的 modelId部署) * @param modelId 模型ID * @from fhadmin.cn */ protected String deploymentProcessDefinitionFromUIModelId(String modelId) throws Exception{ Model model = modelService.getModel(modelId); BpmnModel bpmnModel = mode
FHAdmin
2021/11/12
3750
项目实践工作流之Activiti学习(十五)
首先选中存放图形的目录(本次我们选择 resources 下的 bpmn 目录), File-New-Other 菜单,打开如下窗口。
用户1289394
2023/10/28
1980
项目实践工作流之Activiti学习(十五)
flowable 通过模型model ID部署流程
/**部署流程定义 */ @RequestMapping(value="/deployment") @RequiresPermissions("fhmodel:edit") @ResponseBody public Object deployment(){ Map<String,Object> map = new HashMap<String,Object>(); String result = "success"; PageData pd = new PageData();
FHAdmin
2021/06/06
8150
Java&Activiti7实战:轻松构建你的第一个工作流
将工作流的定义文件(如BPMN文件、流程图等)发布到Activiti引擎中的过程,使流程定义能够被系统识别和使用。
JavaEdge
2025/04/23
1471
Java&Activiti7实战:轻松构建你的第一个工作流
flowable 从zip压缩包 部署流程定义
​ /**部署流程定义(从zip压缩包) * @param name //部署名称 * @param zippath //zip文件路径 * @return 部署ID * @from fhadmin.cn */ protected String deploymentProcessDefinitionFromZip(String name, String zippath) throws Exception{ File outfile = new File(zippath);
FHAdmin
2021/11/17
3100
项目实践工作流之Activiti学习(十九)
将线下定义的流程部署到 activiti 数据库中,这就是流程定义部署,通过调用 activiti 的 api 将流程定义的 bpmn 和 png 两个文件一个一个添加部署到 activiti 中,也可以将两个文件打成 zip 包进行部署。
用户1289394
2023/11/01
1850
项目实践工作流之Activiti学习(十九)
activiti学习笔记(五) 流程部署
activiti流程部署 activit部署方法api     activiti共有六种部署方式,最终实现都是DeploymentEntityImpl的addResource方法 public interface DeploymentBuilder { //根据流进行部署,获取bpmn文件的流进行部署,resourceName是资源名可以自定义 DeploymentBuilder addInputStream(String resourceName, InputStream inputStream
cfs
2018/03/08
2.8K0
Activiti7 zip部署,查询及其删除
zip部署部署流程 package com.itheima.activiti; import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngines; import org.activiti.engine.RepositoryService; import org.activiti.engine.repository.Deployment; import java.io.IOException; impor
彼岸舞
2020/12/01
5170
Activiti工作流的详细介绍[通俗易懂]
1、工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现。
全栈程序员站长
2022/11/08
3.9K0
Activiti工作流的详细介绍[通俗易懂]
activiti构造属于自己的流程定义
说起actviti,很多人都会说它支持bpmn标准,它的流转都是基于bpmn文件来运行! 但我们在设计流程时,流程定义真的只能是bpmn定义吗?   其实不然,activti可以支持任意流程定义,只要你发布流程时,将你的流程定义转成bpmn文件即可!    分析如下:
星痕
2018/09/12
1.5K0
flowable流程部署
@Transactional @Override public Object deployModelId(String modelId, String categoryCode) { if (StringUtils.isBlank(modelId) || StringUtils.isBlank(categoryCode)) { return fail("模型Id/分类Id不能为空"); } try {
FHAdmin
2022/03/02
3260
项目中工作流部署详解!Spring中部署Activiti流程定义的三种姿势
业务文档 为了部署流程,需要包装在一个业务文档中 一个业务文档是Activiti引擎部署的单元 一个业务文档相当与一个压缩文件,它包含: BPMN2.0流程 任务表单 规则 其他任意类型的文件 业务文档是包含命名资源的容器 当一个业务文档被部署,它将会自动扫描以.bpmn20.xml或者.bpmn作为扩展名的BPMN文件.每个那样的文件都将会被解析并且可能会包含多个流程定义 业务归档中的Java类将不能够添加到类路径下 为了能够让流程运行,必须把存在于业务归档程中的流程定义使用的所有自定义的类(例如:
攻城狮Chova
2022/01/22
8140
项目中工作流部署详解!Spring中部署Activiti流程定义的三种姿势
Activiti5工作流笔记一
  网上工作流的定义一大堆,这里就不去复制了,通俗的理解,工作流就是类似OA系统中请假审批、报销审批等一系列流程,下级提交的申请只有直系领导才能审批,其他人是没有权限的,而只有直系领导审批通过后,直系领导的直系领导才可以看到申请,并进行审批,以此类推。。。
HUC思梦
2020/09/03
7940
Activiti5工作流笔记一
Activiti7工作流引擎-Activiti入门体验
在 eclipse 或 idea 中安装 activiti-designer 插件即可使用,画板中包括以下结点: Connection—连接 Event—事件 Task—任务 Gateway—网关 Container—容器 Boundary event—边界事件 Intermediate event- -中间事件 流程图设计完毕保存生成.bpmn 文件。
cwl_java
2019/12/30
1.6K0
Activiti7工作流引擎-Activiti入门体验
第四节:Activiti6.0——使用zip、bpmn代码生成流程图的资源部署以及资源的查询
说明:从存储服务RepositoryService可以获取发布生成器DeploymentBuilder,该生成器中可以调用添加资源的方法,有不同资源的添加,然后调用deploy()方法进行发布。具体的添加方法如下:
凡人飞
2020/09/20
1.4K0
工作流引擎之activiti入门
在解释activiti之前我们看一下什么是工作流。 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。 我的理解是,工作流将一套大的业务逻辑分解成业务逻辑段, 并统一控制这些业务逻辑段的执行条件,执行顺序以及相互通信。 实现业务逻辑的分解和解耦。 Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度。 BPMN即业务流程建模与标注(Business Process Model and Notation,BPMN) ,描述流程的基本符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram)。
lyb-geek
2018/07/26
9.3K0
工作流引擎之activiti入门
spring boot2与activiti7完美结合(踩坑)
        Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现。
kinbug [进阶者]
2020/02/17
17.2K1
Activiti7工作流引擎-流程定义
流程定义是线下按照 bpmn2.0 标准去描述 业务流程,通常使用 activiti-explorer(web 控制台)或 activiti-eclipse-designer 插件对业务流程进行建模,这两种方式都遵循 bpmn2.0 标准。本教程使用activiti-eclipse-designer 插件完成流程建模。使用 designer 设计器绘制流程,会生成两个文件:.bpmn和.png
cwl_java
2020/01/02
1.8K0
工作流引擎之activiti流程定义
ProcessDefinition(流程定义)就是一个流程的步骤说明,比如我们接下来要说的这个流程,申请人王三发起提交申请,李四作为部门经理进行审批,审批完成后,此申请到达下一级总经理王五,进行审批。就这么整个流程说明其实就是流程定义,不过在Activiti中整个流程定义是以xxx.bpmn与xxx.png格式存在的。
lyb-geek
2018/07/26
1.4K0
万字详解:Activiti 工作流引擎
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/07/26
1K0
万字详解:Activiti 工作流引擎
推荐阅读
相关推荐
flowable 部署流程定义(从Classpath) 和 (根据ui.modeler的 modelId部署)
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验