JPBM4.4提供了在jpdl中定义流程变量(variable),使在流程中定义默认参数成为可能。
但在实际应用中,我们希望在创建流程前能够修改默认参数值,例如月份,我们希望能够自定义月份。经过实践发现,每次修改的参数,都会被jpdl中定义的参数覆盖。因为jbpm中的参数是放在一个Map中,可以推断,我们修改的参数先创建,而后流程创建时用jpdl中的variable将我们希望修改的参数给覆盖了。
经过跟踪源码调试发现,确实是这样。按我们想的,应该是这样,创建参数时,先判断参数是否已存在,如果存在,则不再创建。所以,将org.jbpm.pvm.internal.model.ScopeInstanceImpl中的createVariable(String key, Object value, String typeName, boolean isHistoryEnabled)方法稍做修改即可实现。修改如下
public void createVariable(String key, Object value, String typeName, boolean isHistoryEnabled) {
Variable variable = createVariableObject(key, value, typeName, isHistoryEnabled);
if(variables.get(key) == null){ //增加判断,如果已创建,则不再用jpdl中的进行创建
variables.put(variable.getKey(), variable);
}
hasVariables = true;
}
分享到:
相关推荐
《jBPM4.4开发指南》与《jBPM4.4中文用户手册》是深入理解jBPM4.4这一开源工作流管理系统的重要参考资料。jBPM,全称Java Business Process Management,是一个用于执行业务流程的轻量级、灵活的开源框架,它为业务...
2. **集成能力**:jBPM 4.4可以无缝集成到各种Java EE环境,如JBoss AS、WildFly和GlassFish等应用服务器中,这使得开发者能够利用这些服务器提供的服务,如事务管理、安全性和集群功能。 3. **用户界面**:为了...
JBPM4.4与SSH2之整合(附完整源码) 这些天,想着把jbpm4.4与ssh2整合一下,由于之前从来没用过jbpm,也不知道各版本之间会有什么差异(经过网上的收集对比,还真有些差异),整合起来,还真是有些步履艰难。收集了...
jbpm4.4是JBoss企业级业务流程...总之,jbpm4.4是企业级业务流程管理的有力工具,其强大的功能和良好的可扩展性使其在许多项目中得到广泛应用。通过深入学习和实践,你可以熟练掌握jbpm4.4,提升你的业务流程管理能力。
**jBPM4.4开发实例** jBPM(Java Business Process Management)是一个开源的工作流管理系统,用于管理和执行业务流程。jBPM4.4是该框架的一个版本,它提供了强大的工作流服务,包括流程定义、流程实例管理、任务...
2. **工作流引擎**: jbpm4.4包含一个强大的工作流引擎,能够执行编译后的流程模型。这个引擎负责流程实例的启动、流转、暂停、恢复和终止,以及任务分配和执行。 3. **持久化**: jbpm4.4支持JPA(Java Persistence ...
**jBPM 4.4 用户手册 中文PDF** **jBPM 4.4** 是一个开源的工作流程管理系统,由Red Hat公司开发并维护,主要用于业务流程管理(BPM)和工作流自动化。该系统提供了强大的流程建模、执行和监控功能,支持Java平台,...
资源名称:JBPM4.4视频教程(22集附源码)资源目录:【】(01)jbpm4.4简介【】(02)JBPM4.4开发环境搭建【】(03)jbpm4.4环境搭建续【】(04)jbpm4.4配置文件和开发前准备【】(05)jbpm4.4部署流程发起流程实例【】(06)...
工作流是指业务过程的部分或整体在计算机应用环境下的自动化,其目的是为了使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程能够自动进行,从而实现某个预期的业务目标。 **2. 工作流管理系统 ...
2. **持久化**:JBPM4.4使用JPA(Java Persistence API)进行数据持久化,使得流程实例、任务和其他相关信息能够存储在数据库中,方便查询和管理。 3. **任务服务**:JBPM提供了任务服务,允许用户分配、接收和完成...
jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd
jbpm4.4 shh2 项目示例是基于jbpm4.4版本与SSH2(Struts2、Spring和Hibernate)集成的一个实战项目。jbPM(Business Process Management)是一款开源的工作流管理系统,用于实现业务流程自动化。SSH2是Java开发中的...
jBPM 4.4是Java Business Process Management(业务流程管理)的一个版本,它是一个开源的工作流管理系统,用于实现业务流程自动化。这个压缩包包含了两个关键文档:《jBPM 4.4 开发指南》和《jBPM 4.4 用户指南》,...
jBPM4.4版本特别之处在于其底层依赖于Active Diagram模型,并且采用了Hibernate 3.3.1,这使得它能够良好地兼容主流数据库,同时,整个版本共涉及18张数据表,展现了其强大的数据处理能力。 #### 三、搭建jBPM4.4...
jbPM 4.4 版本是该系统的一个重要里程碑,包含了丰富的特性和改进,使得企业能够更加灵活、高效地管理其业务流程。 **1. jbPM 概述** jbPM 是基于 Java 平台的企业级工作流引擎,它遵循 Business Process Execution...
【jbpm4.4+SSH】是一个集成的Java企业级应用框架,主要涉及的是工作流管理系统jbpm4.4与Spring、Struts2(SSH)三大框架的整合。jbpm4是一个开源的工作流程管理系统,它提供了流程定义、执行、监控和优化等一系列...
1.1构建jbpm4.4源代码于都工程 1.2配置文件解析过程 1.3对象创建过程与binding解析过程 同时由于本人能力有限,时间有限. 这些东西仅仅为抛砖引玉,我是转而已。可能会有一些不到位的地方。 如有不同意见可以...
【JBPM4.4流程管理Demo】是一个基于JBPM4.4版本的示例项目,主要展示了如何在实际业务场景中应用工作流引擎进行流程管理,特别是报销流程的管理。这个Demo不仅包含了可运行的代码,还附带了学习资料和SQL文件,方便...
2. **工作流引擎**:jbpm4.4包含一个强大的工作流引擎,能够执行流程实例,处理任务分配,以及根据流程定义自动执行流程步骤。引擎支持动态流程更改,使得在运行时调整流程成为可能。 3. **持久化**:jbpm4.4使用...