From 0a4f105e45ac54cf800d01cd7b7c046a2fb088c5 Mon Sep 17 00:00:00 2001 From: stapel Date: Wed, 18 Nov 2020 16:39:00 +0100 Subject: [PATCH] WIP [#1145] Single parameter or @Payload-annotated parameter type inference --- .../listener/adapter/MessagingMessageListenerAdapter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/adapter/MessagingMessageListenerAdapter.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/adapter/MessagingMessageListenerAdapter.java index 15dfc40c81..9d0c14a851 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/adapter/MessagingMessageListenerAdapter.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/adapter/MessagingMessageListenerAdapter.java @@ -333,11 +333,11 @@ private Type determineInferredType() { for (int i = 0; i < this.method.getParameterCount(); i++) { MethodParameter methodParameter = new MethodParameter(this.method, i); /* - * We're looking for a single non-annotated parameter, or one annotated with @Payload. + * We're looking for a single parameter, or one annotated with @Payload. * We ignore parameters with type Message because they are not involved with conversion. */ if (isEligibleParameter(methodParameter) - && (methodParameter.getParameterAnnotations().length == 0 + && (this.method.getParameterCount() == 1 || methodParameter.hasParameterAnnotation(Payload.class))) { if (genericParameterType == null) { genericParameterType = extractGenericParameterTypFromMethodParameter(methodParameter);