7
这里为了能够正确执行到目标方法,只是构建了一个对象数组,但是并没有将正确的参数值给到目标方法
这里为了能够正确执行到目标方法,只是构建了一个对象数组,但是并没有将正确的参数值给到目标方法
逻辑修改
public void execute() throws Exception {
Class<?>[] paramTypes = this.method.getParameterTypes();
if (paramTypes.length > 0) {
String jobParam = XxlJobContext.getXxlJobContext().getJobParam();
Object[] objs = new Object[paramTypes.length];
if (null != jobParam && !"".equalsIgnoreCase(jobParam.trim())) {
objs[0] = jobParam;
}
this.method.invoke(this.target, objs);
} else {
this.method.invoke(this.target);
}
}
即可接收到jobParam
2.3.0版本已经改用XxlJobHelper.getJobParam的方式获取方法入参了,所以这个地方源码这样应该是不会影响功能的吧
惭愧惭愧,2.3.0的这个使用方法我刚知道,我是从2.2.0升级2.3.0的,照着demo改完之后突然发现参数丢了,这把我给急的。。。没仔细看2.3.0的realse 说明,太失败了
一样啊 真的惭愧,