From 3364771da5daec654e445d314d5f925fbd65fbc5 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Tue, 22 Sep 2020 15:05:45 +0200 Subject: [PATCH] GH-2007 Ensure StreamBridge does not attempt to create Message from Message Resolves #2007 --- .../springframework/cloud/stream/function/StreamBridge.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/StreamBridge.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/StreamBridge.java index e77adb2a8..fd5fc9f95 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/StreamBridge.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/StreamBridge.java @@ -145,8 +145,9 @@ public final class StreamBridge implements SmartInitializingSingleton { boolean skipConversion = producerProperties.isUseNativeEncoding(); - Function functionToInvoke = skipConversion ? v -> MessageBuilder.withPayload(v).build() : - this.functionCatalog.lookup(STREAM_BRIDGE_FUNC_NAME, outputContentType.toString()); + Function functionToInvoke = skipConversion + ? v -> v instanceof Message ? v : MessageBuilder.withPayload(v).build() + : this.functionCatalog.lookup(STREAM_BRIDGE_FUNC_NAME, outputContentType.toString()); if (producerProperties != null && producerProperties.isPartitioned()) { functionToInvoke = new PartitionAwareFunctionWrapper((FunctionInvocationWrapper) functionToInvoke, this.applicationContext, producerProperties);