diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/handler/HandlerMethodUtils.java b/org.springframework.integration/src/main/java/org/springframework/integration/handler/HandlerMethodUtils.java index 0db8cdd43b..c40ea24e1c 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/handler/HandlerMethodUtils.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/handler/HandlerMethodUtils.java @@ -30,6 +30,7 @@ import org.springframework.integration.annotation.Headers; * Utility methods for common behavior related to Message-handling methods. * * @author Mark Fisher + * @author Oleg Zhurakousky */ abstract class HandlerMethodUtils { @@ -47,9 +48,6 @@ abstract class HandlerMethodUtils { return false; } Class[] parameterTypes = method.getParameterTypes(); - if (parameterTypes.length == 0) { - return false; - } if (parameterTypes.length > 1) { // at most one parameter can be lacking @Header or @Headers boolean foundPayloadParam = false; diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/handler/StaticHandlerMethodResolver.java b/org.springframework.integration/src/main/java/org/springframework/integration/handler/StaticHandlerMethodResolver.java index ed981cccdf..08439ec033 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/handler/StaticHandlerMethodResolver.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/handler/StaticHandlerMethodResolver.java @@ -27,6 +27,7 @@ import org.springframework.util.Assert; * or otherwise resolvable in advance based on static metadata. * * @author Mark Fisher + * @author Oleg Zhurakousky */ public class StaticHandlerMethodResolver implements HandlerMethodResolver { @@ -35,8 +36,6 @@ public class StaticHandlerMethodResolver implements HandlerMethodResolver { public StaticHandlerMethodResolver(Method method) { Assert.notNull(method, "method must not be null"); - Assert.notEmpty(method.getParameterTypes(), - "Message-handling method [" + method + "] must accept at least one parameter."); Assert.isTrue(HandlerMethodUtils.isValidHandlerMethod(method), "Invalid Message-handling method [" + method + "]"); this.method = method; diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/filter/MethodInvokingSelectorTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/filter/MethodInvokingSelectorTests.java index e75f2d4deb..a2367484cc 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/filter/MethodInvokingSelectorTests.java +++ b/org.springframework.integration/src/test/java/org/springframework/integration/filter/MethodInvokingSelectorTests.java @@ -29,6 +29,7 @@ import org.springframework.integration.message.StringMessage; /** * @author Mark Fisher + * @author Oleg Zhurakousky */ public class MethodInvokingSelectorTests { @@ -60,13 +61,13 @@ public class MethodInvokingSelectorTests { assertFalse(selector.accept(new GenericMessage(99))); } - @Test(expected = IllegalArgumentException.class) + @Test public void noArgMethodWithMethodName() { MethodInvokingSelector selector = new MethodInvokingSelector(new TestBean(), "noArgs"); selector.accept(new StringMessage("test")); } - @Test(expected = IllegalArgumentException.class) + @Test public void noArgMethodWithMethodReference() throws Exception { TestBean testBean = new TestBean(); Method method = testBean.getClass().getMethod("noArgs", new Class[] {}); diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/handler/StaticHandlerMethodResolverTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/handler/StaticHandlerMethodResolverTests.java index ca0aa3ef4a..44c860ffd7 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/handler/StaticHandlerMethodResolverTests.java +++ b/org.springframework.integration/src/test/java/org/springframework/integration/handler/StaticHandlerMethodResolverTests.java @@ -28,6 +28,7 @@ import org.springframework.integration.message.StringMessage; /** * @author Mark Fisher + * @author Oleg Zhurakousky */ public class StaticHandlerMethodResolverTests { @@ -37,7 +38,7 @@ public class StaticHandlerMethodResolverTests { new StaticHandlerMethodResolver(method); } - @Test(expected = IllegalArgumentException.class) + @Test public void noArgMethodIsNotValid() throws Exception { Method method = TestBean.class.getDeclaredMethod("noArgMethod", new Class[0]); new StaticHandlerMethodResolver(method); diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/message/MethodInvokingMessageHandlerTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/message/MethodInvokingMessageHandlerTests.java index bc18bfb31f..b502725fda 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/message/MethodInvokingMessageHandlerTests.java +++ b/org.springframework.integration/src/test/java/org/springframework/integration/message/MethodInvokingMessageHandlerTests.java @@ -37,6 +37,7 @@ import org.springframework.integration.util.TestUtils.TestApplicationContext; /** * @author Mark Fisher + * @author Oleg Zhurakousky */ public class MethodInvokingMessageHandlerTests { @@ -46,9 +47,9 @@ public class MethodInvokingMessageHandlerTests { handler.handleMessage(new GenericMessage("test")); } - @Test(expected = IllegalArgumentException.class) + @Test public void invalidMethodWithNoArgs() { - new MethodInvokingMessageHandler(new TestSink(), "invalidMethodWithNoArgs"); + new MethodInvokingMessageHandler(new TestSink(), "validMethodWithNoArgs"); } @Test(expected = MessagingException.class) @@ -118,7 +119,7 @@ public class MethodInvokingMessageHandlerTests { public void validMethod(String s) { } - public void invalidMethodWithNoArgs() { + public void validMethodWithNoArgs() { } public String methodWithReturnValue(String s) {