Commit 9b4a0967 by huangfusuper

解决因为生命周期导致java节点数据错乱的BUG

parent 09e474e8
...@@ -97,43 +97,59 @@ public class RpcCallbackInstanceRunTheLifeCycleCallback implements InstanceRunTh ...@@ -97,43 +97,59 @@ public class RpcCallbackInstanceRunTheLifeCycleCallback implements InstanceRunTh
//转换节点参数为包装对象 //转换节点参数为包装对象
RunParamWrapped runParamWrapped = JSON.parseObject(runParam, RunParamWrapped.class); RunParamWrapped runParamWrapped = JSON.parseObject(runParam, RunParamWrapped.class);
String privateParam = runParamWrapped.getPrivateParam();
//如果对应参数为空直接设置
if (StringUtils.isBlank(privateParam)) {
runParamWrapped.setPrivateParam(JSON.toJSONString(rpcScriptParamAndPlaceholderDto));
jobTask.setRunParam(JSON.toJSONString(runParamWrapped));
return jobTask;
}
//获取任务里面的数据 if("JAVA".equals(jobTask.getJobType())){
ScriptParamAndPlaceholderDto scriptParamAndPlaceholderDto = JSON.parseObject(privateParam, ScriptParamAndPlaceholderDto.class); Map<String, String> publicParamMap = runParamWrapped.getPublicParamMap();
if(CollectionUtil.isEmpty(publicParamMap)){
//替换参数 runParamWrapped.setPublicParamMap(new HashMap<>(8));
if (CollectionUtil.isNotEmpty(placeholder)) { }
//获取任务里面的替换参数 Map<String, String> javaParamPublic = runParamWrapped.getPublicParamMap();
Map<String, String> jobTaskPlaceholder = scriptParamAndPlaceholderDto.getPlaceholder(); if(CollectionUtil.isNotEmpty(scriptParam)){
//如果任务里面的替换参数为空 就直接设置 javaParamPublic.putAll(scriptParam);
if (CollectionUtil.isEmpty(jobTaskPlaceholder)) {
scriptParamAndPlaceholderDto.setPlaceholder(placeholder);
} else {
placeholder.forEach(jobTaskPlaceholder::put);
//追加数据
scriptParamAndPlaceholderDto.setPlaceholder(jobTaskPlaceholder);
} }
if(CollectionUtil.isNotEmpty(placeholder)){
javaParamPublic.putAll(placeholder);
}
runParamWrapped.setPublicParamMap(javaParamPublic);
}else{
String privateParam = runParamWrapped.getPrivateParam();
//如果对应参数为空直接设置
if (StringUtils.isBlank(privateParam)) {
runParamWrapped.setPrivateParam(JSON.toJSONString(rpcScriptParamAndPlaceholderDto));
jobTask.setRunParam(JSON.toJSONString(runParamWrapped));
return jobTask;
}
//获取任务里面的数据
ScriptParamAndPlaceholderDto scriptParamAndPlaceholderDto = JSON.parseObject(privateParam, ScriptParamAndPlaceholderDto.class);
//替换参数
if (CollectionUtil.isNotEmpty(placeholder)) {
//获取任务里面的替换参数
Map<String, String> jobTaskPlaceholder = scriptParamAndPlaceholderDto.getPlaceholder();
//如果任务里面的替换参数为空 就直接设置
if (CollectionUtil.isEmpty(jobTaskPlaceholder)) {
scriptParamAndPlaceholderDto.setPlaceholder(placeholder);
} else {
placeholder.forEach(jobTaskPlaceholder::put);
//追加数据
scriptParamAndPlaceholderDto.setPlaceholder(jobTaskPlaceholder);
}
}
//脚本参数
if (CollectionUtil.isNotEmpty(scriptParam)) {
Map<String, String> jobTaskParam = scriptParamAndPlaceholderDto.getParam();
//如果任务里面的替换参数为空 就直接设置
if (!CollectionUtil.isEmpty(jobTaskParam)) {
scriptParam.forEach(jobTaskParam::put);
//追加数据
} }
scriptParamAndPlaceholderDto.setParam(jobTaskParam); //脚本参数
if (CollectionUtil.isNotEmpty(scriptParam)) {
Map<String, String> jobTaskParam = scriptParamAndPlaceholderDto.getParam();
//如果任务里面的替换参数为空 就直接设置
if (!CollectionUtil.isEmpty(jobTaskParam)) {
scriptParam.forEach(jobTaskParam::put);
//追加数据
}
scriptParamAndPlaceholderDto.setParam(jobTaskParam);
}
runParamWrapped.setPrivateParam(JSON.toJSONString(scriptParamAndPlaceholderDto));
} }
runParamWrapped.setPrivateParam(JSON.toJSONString(scriptParamAndPlaceholderDto));
jobTask.setRunParam(JSON.toJSONString(runParamWrapped)); jobTask.setRunParam(JSON.toJSONString(runParamWrapped));
return jobTask; return jobTask;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
......
...@@ -40,7 +40,7 @@ public class SpecialJobParam implements Serializable { ...@@ -40,7 +40,7 @@ public class SpecialJobParam implements Serializable {
private String startNodeTaskName; private String startNodeTaskName;
/** /**
* 任务名称 -> 任务参数载体 * 任务名称 -> 任务参数载体 value对应 ScriptParamAndPlaceholderDto
*/ */
private Map<String,String> paramCarrier; private Map<String,String> paramCarrier;
...@@ -54,7 +54,7 @@ public class SpecialJobParam implements Serializable { ...@@ -54,7 +54,7 @@ public class SpecialJobParam implements Serializable {
*/ */
private List<RepairTimeParam> repairTimeList; private List<RepairTimeParam> repairTimeList;
/** /**
* 时间类型格式 * 时间类型格式 与 RepairTimeParam 里面的时间格式一致
*/ */
private String timeFormatName; private String timeFormatName;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment