From 60a7092977eff8a967b6783ab3aa1f140dbe4a4f Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Tue, 16 Jul 2019 11:13:21 +0200 Subject: [PATCH] Fix dataMimeType and metadataMimeType mixup in precondition check Closes gh-23292 --- .../annotation/support/RSocketMessageHandler.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/spring-messaging/src/main/java/org/springframework/messaging/rsocket/annotation/support/RSocketMessageHandler.java b/spring-messaging/src/main/java/org/springframework/messaging/rsocket/annotation/support/RSocketMessageHandler.java index dfbb1272e3..e8d79e6402 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/rsocket/annotation/support/RSocketMessageHandler.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/rsocket/annotation/support/RSocketMessageHandler.java @@ -223,6 +223,7 @@ public class RSocketMessageHandler extends MessageMappingMessageHandler { } + @Override @Nullable protected CompositeMessageCondition getCondition(AnnotatedElement element) { MessageMapping annot1 = AnnotatedElementUtils.findMergedAnnotation(element, MessageMapping.class); @@ -305,16 +306,16 @@ public class RSocketMessageHandler extends MessageMappingMessageHandler { Assert.notNull(dataMimeType, "No `dataMimeType` in ConnectionSetupPayload and no default value"); s = setupPayload.metadataMimeType(); - MimeType metaMimeType = StringUtils.hasText(s) ? MimeTypeUtils.parseMimeType(s) : this.defaultMetadataMimeType; - Assert.notNull(dataMimeType, "No `metadataMimeType` in ConnectionSetupPayload and no default value"); + MimeType metadataMimeType = StringUtils.hasText(s) ? MimeTypeUtils.parseMimeType(s) : this.defaultMetadataMimeType; + Assert.notNull(metadataMimeType, "No `metadataMimeType` in ConnectionSetupPayload and no default value"); RSocketStrategies strategies = this.rsocketStrategies; Assert.notNull(strategies, "No RSocketStrategies. Was afterPropertiesSet not called?"); - RSocketRequester requester = RSocketRequester.wrap(rsocket, dataMimeType, metaMimeType, strategies); + RSocketRequester requester = RSocketRequester.wrap(rsocket, dataMimeType, metadataMimeType, strategies); Assert.notNull(this.metadataExtractor, () -> "No MetadataExtractor. Was afterPropertiesSet not called?"); - return new MessagingRSocket(dataMimeType, metaMimeType, this.metadataExtractor, requester, + return new MessagingRSocket(dataMimeType, metadataMimeType, this.metadataExtractor, requester, this, getRouteMatcher(), strategies.dataBufferFactory()); }