From e9cd40fbf3d07b9e19e09de6ab7f14955373cf75 Mon Sep 17 00:00:00 2001 From: chenwenshun Date: Fri, 26 Apr 2019 11:22:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E4=B8=8E=E8=BF=94=E5=9B=9E=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E4=B8=8D=E6=98=AFResult=E7=B1=BB=E5=9E=8B=E7=9A=84?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E9=81=BF=E5=85=8D=E6=89=A7=E8=A1=8C=E4=B8=8D?= =?UTF-8?q?=E5=88=B0=E4=B8=8E=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spring/tasktracker/JobRunnerBuilder.java | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/lts-spring/src/main/java/com/github/ltsopensource/spring/tasktracker/JobRunnerBuilder.java b/lts-spring/src/main/java/com/github/ltsopensource/spring/tasktracker/JobRunnerBuilder.java index 29bfbdae8..9767c101b 100644 --- a/lts-spring/src/main/java/com/github/ltsopensource/spring/tasktracker/JobRunnerBuilder.java +++ b/lts-spring/src/main/java/com/github/ltsopensource/spring/tasktracker/JobRunnerBuilder.java @@ -18,25 +18,32 @@ public static JobRunner build(final Object targetObject, final Method targetMeth return new JobRunner() { @Override public Result run(JobContext jobContext) throws Throwable { + Object resultObj; if (pTypes == null || pTypes.length == 0) { - return (Result) targetMethod.invoke(targetObject); - } - Object[] pTypeValues = new Object[pTypes.length]; - - for (int i = 0; i < pTypes.length; i++) { - if (pTypes[i] == Job.class) { - pTypeValues[i] = jobContext.getJob(); - } else if (pTypes[i] == JobContext.class) { - pTypeValues[i] = jobContext; - } else { - pTypeValues[i] = null; + resultObj = targetMethod.invoke(targetObject); + }else{ + + Object[] pTypeValues = new Object[pTypes.length]; + + for (int i = 0; i < pTypes.length; i++) { + if (pTypes[i] == Job.class) { + pTypeValues[i] = jobContext.getJob(); + } else if (pTypes[i] == JobContext.class) { + pTypeValues[i] = jobContext; + } else { + pTypeValues[i] = null; + } } + + resultObj = targetMethod.invoke(targetObject, pTypeValues); } + Class returnType = targetMethod.getReturnType(); if (returnType != Result.class) { return new Result(Action.EXECUTE_SUCCESS); } - return (Result) targetMethod.invoke(targetObject, pTypeValues); + + return (Result) resultObj; } }; }