From 6f65b638de5357999d9c740e7f98441b4bb775ed Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 17 Oct 2017 12:15:51 +0200 Subject: [PATCH] Defensive resolution of getParameterType (actually never returning null) Covers use of ResolvableType in overridden getParameterType variants. Issue: SPR-16072 --- .../messaging/handler/invocation/InvocableHandlerMethod.java | 2 +- .../mvc/method/annotation/ServletInvocableHandlerMethod.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/InvocableHandlerMethod.java b/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/InvocableHandlerMethod.java index 8cab1fde98..f0d65f1cc5 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/InvocableHandlerMethod.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/handler/invocation/InvocableHandlerMethod.java @@ -280,7 +280,7 @@ public class InvocableHandlerMethod extends HandlerMethod { return this.returnValue.getClass(); } if (!ResolvableType.NONE.equals(this.returnType)) { - return this.returnType.resolve(); + return this.returnType.resolve(Object.class); } return super.getParameterType(); } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ServletInvocableHandlerMethod.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ServletInvocableHandlerMethod.java index ec62b4c4d3..32bd09d07a 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ServletInvocableHandlerMethod.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ServletInvocableHandlerMethod.java @@ -263,7 +263,7 @@ public class ServletInvocableHandlerMethod extends InvocableHandlerMethod { return this.returnValue.getClass(); } if (!ResolvableType.NONE.equals(this.returnType)) { - return this.returnType.resolve(); + return this.returnType.resolve(Object.class); } return super.getParameterType(); }