diff --git a/spring-messaging/src/main/java/org/springframework/messaging/simp/handler/AnnotationMethodMessageHandler.java b/spring-messaging/src/main/java/org/springframework/messaging/simp/handler/AnnotationMethodMessageHandler.java index 43314c04f7..47a43af366 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/simp/handler/AnnotationMethodMessageHandler.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/simp/handler/AnnotationMethodMessageHandler.java @@ -173,9 +173,6 @@ public class AnnotationMethodMessageHandler implements MessageHandler, Applicati initHandlerMethods(); - // Annotation-based argument resolution - this.argumentResolvers.addResolver(new MessageBodyMethodArgumentResolver(this.messageConverter)); - // Type-based argument resolution this.argumentResolvers.addResolver(new PrincipalMethodArgumentResolver()); this.argumentResolvers.addResolver(new MessageMethodArgumentResolver()); @@ -183,6 +180,9 @@ public class AnnotationMethodMessageHandler implements MessageHandler, Applicati // custom arguments this.argumentResolvers.addResolvers(this.customArgumentResolvers); + // catch-all argument resolver + this.argumentResolvers.addResolver(new MessageBodyMethodArgumentResolver(this.messageConverter)); + // Annotation-based return value types this.returnValueHandlers.addHandler(new ReplyToMethodReturnValueHandler(this.dispatchMessagingTemplate)); this.returnValueHandlers.addHandler(new SubscriptionMethodReturnValueHandler(this.webSocketSessionMessagingTemplate));