From d7039b309f9e806837c7d8a94d4408f60db94aef Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Mon, 28 Jun 2021 17:12:23 +0200 Subject: [PATCH] GH-710 Set skipOutputConversion flag is FunctionAroundWrapper is present Resolves #710 --- .../function/context/catalog/SimpleFunctionRegistry.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java index bcd7a5b19..c46457ebc 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java @@ -367,6 +367,8 @@ public class SimpleFunctionRegistry implements FunctionRegistry, FunctionInspect private Function enhancer; FunctionInvocationWrapper(FunctionInvocationWrapper function) { + this.skipOutputConversion = function.skipOutputConversion; + this.skipInputConversion = function.skipInputConversion; this.target = function.target; this.inputType = function.inputType; this.outputType = function.outputType; @@ -375,6 +377,9 @@ public class SimpleFunctionRegistry implements FunctionRegistry, FunctionInspect } FunctionInvocationWrapper(String functionDefinition, Object target, Type inputType, Type outputType) { + if (functionAroundWrapper != null) { + this.setSkipOutputConversion(true); + } this.target = target; this.inputType = this.normalizeType(inputType); this.outputType = this.normalizeType(outputType);