`

扩展Activiti 5.12轻松搞定流程实例跟随流程版本一起升级

阅读更多
扩展Activiti 5.12轻松搞定流程实例跟随流程版本一起升级,本文详细介绍之
本功能依托于bboss 3.6.2分支和Activiti 5.12.0版本。

为activiti组件org.activiti.engine.repository.DeploymentBuilder增加以下接口方法:
Deployment deploy(int deploypolicy);
参数deploypolicy为int类型,用来指定流程部署策略,有三个值:
DeploymentBuilder.Deploy_policy_default
DeploymentBuilder.Deploy_policy_upgrade
DeploymentBuilder.Deploy_policy_delete
这三个值作为常量定义在部署接口org.activiti.engine.repository.DeploymentBuilder中。他们的含义分别为:
DeploymentBuilder.Deploy_policy_default 没有执行完毕的旧版本实例任务仍然根据旧版本流程定义运行
DeploymentBuilder.Deploy_policy_upgrade 没有执行完毕的旧版本实例任务迁移到新版本流程定义运行
DeploymentBuilder.Deploy_policy_delete 直接取消没有执行完毕的旧版本实例任务

原来的部署接口方法任然保留:
Deployment deploy();

以下是两个简单的使用扩展接口部署流程示例:
public Deployment deployProcDefByZip(String deploymentName,
			ZipInputStream processDef,int upgradepolicy) {
		DeploymentBuilder deploymentBuilder = processEngine
				.getRepositoryService().createDeployment().name(deploymentName);
		deploymentBuilder.addZipInputStream(processDef);		
		/**
		 * 参数upgradepolicy可以为以下常量值:
		 *  DeploymentBuilder.Deploy_policy_default 
	 	 *	DeploymentBuilder.Deploy_policy_upgrade 
	     *  DeploymentBuilder.Deploy_policy_delete 
	     *
		 */			
		return deploymentBuilder.deploy(upgradepolicy);
	}


public Deployment deployProcDefByPath(String deploymentName,
			String xmlPath, String jpgPath,int deploypolicy) {
		Deployment deploy = null;
		/**
		 * 参数deploypolicy可以为以下常量值:
		 *  DeploymentBuilder.Deploy_policy_default 
	 	 *	DeploymentBuilder.Deploy_policy_upgrade 
	     *  DeploymentBuilder.Deploy_policy_delete 
	     *
		 */
		if(jpgPath != null && !jpgPath.equals(""))
		{
			deploy = repositoryService.createDeployment()
					.name(deploymentName).addClasspathResource(xmlPath)
			.addClasspathResource(jpgPath).deploy(deploypolicy);
		}
		else
		{
			deploy = repositoryService.createDeployment()
				.name(deploymentName).addClasspathResource(xmlPath).deploy(deploypolicy);
		}

		return deploy;
	}
分享到:
评论

相关推荐

    eclipse-activiti5.12插件

    6. **版本管理**:在版本控制下,可以轻松切换不同版本的流程定义,便于维护和升级。 ### 5. 示例应用 一个典型的例子是请假申请流程,包括申请、审批、驳回等步骤。通过Eclipse Activiti 5.12 插件,开发者可以...

    Activiti(Flowable) 流程实例克隆解决方案1

    Activiti(Flowable) 流程实例克隆解决方案1

    Activiti工作流之流程实例、任务的执行

    【标题】"Activiti工作流之流程实例、任务的执行" 在企业级应用开发中,工作流管理系统(Workflow Management System, WfMS)扮演着重要角色,它负责自动化业务流程,确保任务按照预定义的规则有序进行。Activiti是...

    activiti系列jar包(含 5.12 、5.14、 5.15)

    这个压缩包包含了 Activiti 的不同版本,包括 5.12、5.14 和 5.15,这些都是 Java 开发人员在构建企业级应用时可能会用到的组件。每个版本的 Activiti 设计师都是一个图形化的流程建模工具,帮助用户设计和调试工作...

    activiti 工作流实例-实现请假流程

    这个是Activiti开发的请假流程实例,可以作为用Activiti开发工作流的参考;项目采用spring+hibernate+strus2+activity开发,可以运行;数据库采用oracle,其中 QingJia 和 QingJiaHis 是自己的业务表,分别表示 请假...

    activiti流程图查看demo

    1. **部署流程定义**:在Activiti中,首先需要将`.bpmn`文件部署到Activiti Engine,这将生成流程定义实例。部署可以通过API或者使用管理界面完成。 2. **获取流程图**:部署后,你可以通过Activiti API获取流程...

    activiti6.0实现流程图片自定义颜色 当前任务为红色,走过的任务为绿色,自定义文字颜色连线文字显示

    本文将深入探讨如何在Activiti 6.0版本中实现流程图片的自定义颜色功能,以增强流程图的可读性和美观性。 首先,我们要理解流程图在Activiti中的作用。流程图是流程模型的可视化表示,它帮助用户理解并跟踪业务流程...

    activiti代码实现审批流程的审批

    Activiti是一款开源的工作流引擎,它提供了一套强大的API和基于XML的模型定义语言,用于在Java应用中实现业务流程管理(BPM)系统。在本文中,我们将深入探讨如何利用Activiti代码来实现审批流程的审批功能。 首先...

    Activiti流程图部署及流程图部分操作.pdf

    Activiti 是一个开源的工作流和业务自动化引擎,它支持企业级的业务流程管理(BPM)和业务规则管理(BRM)。在这个主题中,我们主要关注如何在Activiti中进行流程图的部署以及如何操作流程图。 流程图的部署是...

    activiti工作流流程跟踪图(图片(两种方式))

    本实例聚焦于如何生成和查看Activiti流程的跟踪监控图,并且通过两种不同的方式来实现图片的生成,分别是路径线和节点的高亮显示。 首先,我们要理解Activiti的工作流模型。流程定义(Process Definition)是用BPMN...

    activiti视频教程工作流实例(包括源码)-完成调整请假的处理

    这可能涵盖了如何修改已有的流程定义,如何在不影响运行中的流程实例的情况下部署新版本,以及如何通过Activiti的API动态调整流程行为。 6. **学习方法**: 视频教程通常结合理论讲解和实战演示,帮助学习者更好地...

    基于activiti的采购审批流程

    **基于Activiti的采购审批流程详解** 在信息技术领域,工作流管理系统被广泛应用于自动化和优化组织内部的各种业务流程。Activiti是一款开源的工作流引擎,它提供了强大的流程定义、执行和监控能力,尤其适合构建...

    简单的activiti请假流程

    这个“简单的activiti请假流程”项目是针对初学者或希望了解Activiti基本操作的一个实例,旨在展示如何在实际场景中部署、启动、执行和结束一个流程。 1. Activiti 概述: Activiti 是基于模型驱动的,采用BPMN ...

    Activiti 学习笔记四:流程实例、任务的执行

    Activiti 是一个开源的工作流和业务自动化引擎,广泛应用于企业级应用中,提供流程定义、流程实例管理、任务处理等功能。本学习笔记将深入探讨流程实例和任务执行这两个关键概念。 流程实例是 Activiti 中的一个...

    Activiti 学习笔记六:流程执行历史记录

    历史记录是 Activiti 中的一个重要特性,它允许开发者和管理员查看已经执行过的流程实例和任务的详细信息。这些信息包括但不限于流程实例的启动时间、结束时间、参与者、任务完成顺序、变量变化等,对于业务分析和...

    Activiti工作流整合Web流程设计器整合

    Activiti工作流引擎是一款强大的开源工作流解决方案,它基于模型驱动的架构,旨在为企业提供灵活、可扩展的业务流程自动化能力。在这个“Activiti工作流整合Web流程设计器整合”主题中,我们将深入探讨如何将...

    activiti6.0 自定义流程路径颜色和任务颜色

    总结起来,"activiti6.0 自定义流程路径颜色和任务颜色"是通过扩展 Activiti 的流程图生成类,重写绘图逻辑,以支持根据业务状态显示不同颜色的任务和流程路径。这样的定制化可以显著提升流程图的可读性和业务分析的...

    activiti学习-使用activiti多实例任务实现会签

    ### Activiti多实例任务实现会签功能详解 #### 一、多实例用户任务的基本概念与配置 ...综上所述,通过Activiti提供的多实例任务功能,我们可以轻松地实现复杂的会签逻辑,极大地提高了业务流程的灵活性和效率。

    Activiti可视化流程设计器

    此外,Designer还支持Activiti特有的扩展元素,如多实例任务、信号事件和复杂条件网关,这些扩展使得Activiti能更好地适应实际业务需求。 在Activiti Designer中,可以进行以下操作: 1. **流程定义编辑**:编辑每...

Global site tag (gtag.js) - Google Analytics