在最外层调用方法增加一个参数dynamicsParam
JobTriggerPoolHelper.trigger(jobId, TriggerTypeEnum.MANUAL, -1, null, executorParam, dynamicsParam);
在JobTriggerPoolHelper类中方法增加参数dynamicsParam
helper.addTrigger(jobId, triggerType, failRetryCount, executorShardingParam, executorParam, null, dynamicsParam);
在JobTrigger类中方法和实体中增加参数dynamicsParam
JobTrigger.trigger(jobId, triggerType, failRetryCount, executorShardingParam, executorParam, receiveData, dynamicsParam);
processTrigger(group, jobInfo, finalFailRetryCount, triggerType, i, group.getRegistryList().size(),dynamicsParam);
在TriggerParam实体类中增加
private String dynamicsParam;
processTrigger中
triggerParam.setDynamicsParam(dynamicsParam);
在ExecutorJobHandler中
public ReturnT<String> execute(TriggerParam trigger)
EngineVo engineVo = EngineVo.build(trigger.getJobId(), trigger.getJobJson(), trigger.getReceiveData(),trigger.getDynamicsParam(),trigger.getApiConfig());
在EngineVo实体类中增加
private String dynamicsParam;
在WebEngine的public static void runTask(EngineVo engineVo)中
String dynamicsParam = engineVo.getDynamicsParam();
if (StringUtils.isNotBlank(dynamicsParam)){
configuration.set(CoreConstant.DYNAMICS_PARAM, dynamicsParam);
}
以读插件为例:
在DiyJobContainer类中
private Reader.Job initJobReader(JobPluginCollector jobPluginCollector) {
String dynamicsParam = this.configuration.getString(CoreConstant.DYNAMICS_PARAM);
if (StringUtils.isNotBlank(dynamicsParam)) {
jobReader.setDynamicsParam(dynamicsParam);
}
}
在AbstractPlugin
实体类中增加
private String dynamicsParam;
在插件中获得新增自定义参数
public static class Job extends Reader.Job {
@Override
public void init() {
String dynamicsParam = super.getDynamicsParam();
originalConfig.set("dynamicsParam",dynamicsParam);
}
}