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与SSH2之整合(附完整源码) 这些天,想着把jbpm4.4与ssh2整合一下,由于之前从来没用过jbpm,也不知道各版本之间会有什么差异(经过网上的收集对比,还真有些差异),整合起来,还真是有些步履艰难。收集了...
资源名称:JBPM4.4视频教程(22集附源码)资源目录:【】(01)jbpm4.4简介【】(02)JBPM4.4开发环境搭建【】(03)jbpm4.4环境搭建续【】(04)jbpm4.4配置文件和开发前准备【】(05)jbpm4.4部署流程发起流程实例【】(06)...
jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd
jBPM4.4开发指南 开发手册 JBPM4.4 开发
jbpm4.4下载地址
1.1构建jbpm4.4源代码于都工程 1.2配置文件解析过程 1.3对象创建过程与binding解析过程 同时由于本人能力有限,时间有限. 这些东西仅仅为抛砖引玉,我是转而已。可能会有一些不到位的地方。 如有不同意见可以...
jbpm4.4开发指南,jbpm4.4用户指南
jBPM4.4入门开发实例
首先感谢原创,相关信息请查询原创。... 看到好多朋友找不到相应的jar包,致使jbpm4.4的学习遇到困难,现提供除jbpm4.4自身jar包外的所有包,以便大家更快的学习jbpm4.4,希望能帮朋友们少走弯路!
jBPM4.4课程文档
JBPM4.4之HelloWorld示例
JBPM4.4学习文档.ppt
父项目中,根据Maven的规范,配置了相关依赖包的引用,包括:Jbpm4.4的引用包引用、Junit4.9的测试包引用,hibernate的引用包,以及应用服务器Jboss的Client引用等。 接口中,提供了部署流程、创建实例、获得当前...
jbpm4.4+ssh配置
终于把jbpm4.4上传完了,由于csdn最大容量才50m,所以我把这个jar包分成三个部分。
jbpm4.4整合s2sh 请假流程例子
jBPM4.4数据库表简单介绍
jbpm4.4 ibatis-spring 整合
jBPM 4.4开发指南,翻译官方文档 JBoss jBPM Teams
jBPM 4.4 用户手册 中文版 PDF格式