扩展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;
}
分享到:
相关推荐
6. **版本管理**:在版本控制下,可以轻松切换不同版本的流程定义,便于维护和升级。 ### 5. 示例应用 一个典型的例子是请假申请流程,包括申请、审批、驳回等步骤。通过Eclipse Activiti 5.12 插件,开发者可以...
Activiti(Flowable) 流程实例克隆解决方案1
【标题】"Activiti工作流之流程实例、任务的执行" 在企业级应用开发中,工作流管理系统(Workflow Management System, WfMS)扮演着重要角色,它负责自动化业务流程,确保任务按照预定义的规则有序进行。Activiti是...
这个是Activiti开发的请假流程实例,可以作为用Activiti开发工作流的参考;项目采用spring+hibernate+strus2+activity开发,可以运行;数据库采用oracle,其中 QingJia 和 QingJiaHis 是自己的业务表,分别表示 请假...
1. **部署流程定义**:在Activiti中,首先需要将`.bpmn`文件部署到Activiti Engine,这将生成流程定义实例。部署可以通过API或者使用管理界面完成。 2. **获取流程图**:部署后,你可以通过Activiti API获取流程...
本文将深入探讨如何在Activiti 6.0版本中实现流程图片的自定义颜色功能,以增强流程图的可读性和美观性。 首先,我们要理解流程图在Activiti中的作用。流程图是流程模型的可视化表示,它帮助用户理解并跟踪业务流程...
本实例聚焦于如何生成和查看Activiti流程的跟踪监控图,并且通过两种不同的方式来实现图片的生成,分别是路径线和节点的高亮显示。 首先,我们要理解Activiti的工作流模型。流程定义(Process Definition)是用BPMN...
这个压缩包包含的“activiti请假流程文件bpmn.xml”和“流程图”是理解Activiti如何实现请假流程的关键资料。 BPMN(Business Process Model and Notation)是一种标准化的语言,用于图形化地表示业务流程。在这个...
这可能涵盖了如何修改已有的流程定义,如何在不影响运行中的流程实例的情况下部署新版本,以及如何通过Activiti的API动态调整流程行为。 6. **学习方法**: 视频教程通常结合理论讲解和实战演示,帮助学习者更好地...
Activiti 是一个开源的工作流和业务自动化引擎,它支持企业级的业务流程管理(BPM)和业务规则管理(BRM)。在这个主题中,我们主要关注如何在Activiti中进行流程图的部署以及如何操作流程图。 流程图的部署是...
**基于Activiti的采购审批流程详解** 在信息技术领域,工作流管理系统被广泛应用于自动化和优化组织内部的各种业务流程。Activiti是一款开源的工作流引擎,它提供了强大的流程定义、执行和监控能力,尤其适合构建...
这个“简单的activiti请假流程”项目是针对初学者或希望了解Activiti基本操作的一个实例,旨在展示如何在实际场景中部署、启动、执行和结束一个流程。 1. Activiti 概述: Activiti 是基于模型驱动的,采用BPMN ...
Activiti 是一个开源的工作流和业务自动化引擎,广泛应用于企业级应用中,提供流程定义、流程实例管理、任务处理等功能。本学习笔记将深入探讨流程实例和任务执行这两个关键概念。 流程实例是 Activiti 中的一个...
Activiti工作流引擎是一款强大的开源工作流解决方案,它基于模型驱动的架构,旨在为企业提供灵活、可扩展的业务流程自动化能力。在这个“Activiti工作流整合Web流程设计器整合”主题中,我们将深入探讨如何将...
总结起来,"activiti6.0 自定义流程路径颜色和任务颜色"是通过扩展 Activiti 的流程图生成类,重写绘图逻辑,以支持根据业务状态显示不同颜色的任务和流程路径。这样的定制化可以显著提升流程图的可读性和业务分析的...
### Activiti多实例任务实现会签功能详解 #### 一、多实例用户任务的基本概念与配置 ...综上所述,通过Activiti提供的多实例任务功能,我们可以轻松地实现复杂的会签逻辑,极大地提高了业务流程的灵活性和效率。
此外,Designer还支持Activiti特有的扩展元素,如多实例任务、信号事件和复杂条件网关,这些扩展使得Activiti能更好地适应实际业务需求。 在Activiti Designer中,可以进行以下操作: 1. **流程定义编辑**:编辑每...
首先,Activiti是Alfresco公司推出的一款基于Java的企业工作流引擎,其版本5.22稳定可靠,提供了强大的业务流程建模和执行能力。它支持BPMN 2.0标准,能够处理复杂的业务流程,并且具有良好的扩展性和灵活性。Web...
Activiti流程跟踪任务节点和线高亮显示 Activiti是Activiti BPMN 2.0流程引擎的Java实现,提供了强大的流程管理和自动化功能。在Activiti中,我们可以通过流程跟踪功能来追踪和监控流程的执行情况。流程跟踪任务...