From c5f176b978cfd2057b622dcf62805e8406d38091 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Fri, 18 Mar 2022 14:47:44 +0100 Subject: [PATCH] Perf improvement --- .../context/catalog/SimpleFunctionRegistry.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) 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 27d6992a7..a66136ee2 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 @@ -53,7 +53,6 @@ import org.springframework.cloud.function.context.FunctionProperties.FunctionCon import org.springframework.cloud.function.context.FunctionRegistration; import org.springframework.cloud.function.context.FunctionRegistry; import org.springframework.cloud.function.context.config.RoutingFunction; -import org.springframework.cloud.function.context.message.MessageUtils; import org.springframework.cloud.function.core.FunctionInvocationHelper; import org.springframework.cloud.function.json.JsonMapper; import org.springframework.context.expression.BeanFactoryResolver; @@ -542,14 +541,7 @@ public class SimpleFunctionRegistry implements FunctionRegistry { if (logger.isDebugEnabled() && !(input instanceof Publisher)) { logger.debug("Invoking function " + this); } - Object result; - if (input instanceof Message && ((Message) input).getHeaders().containsKey(MessageUtils.TARGET_PROTOCOL) && ((Message) input).getHeaders().get(MessageUtils.TARGET_PROTOCOL).equals("streamBridge")) { - result = input; - } - else { - result = this.doApply(input); - } -// Object result = this.doApply(input); + Object result = (this.getTarget() instanceof PassThruFunction) ? input : this.doApply(input); if (result != null && this.outputType != null) { result = this.convertOutputIfNecessary(result, this.outputType, this.expectedOutputContentType); @@ -1443,4 +1435,11 @@ public class SimpleFunctionRegistry implements FunctionRegistry { return this.originalMessage; } } + + public static class PassThruFunction implements Function { + @Override + public Object apply(Object t) { + return t; + } + } }