From 834d8ee6277736bffa20166c5ce1ff0e82cc9ccb Mon Sep 17 00:00:00 2001 From: Seo Kyung-Seok Date: Thu, 28 Aug 2014 09:12:35 +0900 Subject: [PATCH] BATCH-2205: MethodInvokingTaskletAdaper does not support primitive arguments. - Improvement of AbstractMethodInvokingDelegator.targetClassDeclaresTargetMethod() --- .../item/adapter/AbstractMethodInvokingDelegator.java | 3 ++- .../src/main/resources/jobs/taskletJob.xml | 7 +++++++ .../batch/sample/TaskletJobFunctionalTests.java | 5 ++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/AbstractMethodInvokingDelegator.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/AbstractMethodInvokingDelegator.java index 70f01cdb0..dc01d86a5 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/AbstractMethodInvokingDelegator.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/adapter/AbstractMethodInvokingDelegator.java @@ -24,6 +24,7 @@ import java.util.List; import org.springframework.beans.factory.InitializingBean; import org.springframework.util.Assert; +import org.springframework.util.ClassUtils; import org.springframework.util.MethodInvoker; /** @@ -167,7 +168,7 @@ public abstract class AbstractMethodInvokingDelegator implements Initializing if (arguments[j] == null) { continue; } - if (!(params[j].isAssignableFrom(arguments[j].getClass()))) { + if (!(ClassUtils.isAssignableValue(params[j], arguments[j]))) { argumentsMatchParameters = false; } } diff --git a/spring-batch-samples/src/main/resources/jobs/taskletJob.xml b/spring-batch-samples/src/main/resources/jobs/taskletJob.xml index 9cb21f6be..3041c9303 100644 --- a/spring-batch-samples/src/main/resources/jobs/taskletJob.xml +++ b/spring-batch-samples/src/main/resources/jobs/taskletJob.xml @@ -27,6 +27,13 @@ class="org.springframework.batch.core.step.tasklet.MethodInvokingTaskletAdapter"> + + + foo2 + 3 + 3.14 + +