From a022defb3ca557a51478a7942a668ffa76dbc6b2 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Fri, 18 Mar 2022 14:47:44 +0100 Subject: [PATCH] Perf improvement --- .../function/context/catalog/SimpleFunctionRegistry.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 80ea8077f..db42d995d 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 @@ -548,7 +548,7 @@ public class SimpleFunctionRegistry implements FunctionRegistry, FunctionInspect if (logger.isDebugEnabled() && !(input instanceof Publisher)) { logger.debug("Invoking function " + this); } - 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); @@ -1448,4 +1448,11 @@ public class SimpleFunctionRegistry implements FunctionRegistry, FunctionInspect return this.originalMessage; } } + + public static class PassThruFunction implements Function { + @Override + public Object apply(Object t) { + return t; + } + } }