diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionAroundWrapper.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionAroundWrapper.java index eff1e8c8d..0a95c605c 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionAroundWrapper.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionAroundWrapper.java @@ -34,14 +34,13 @@ import org.springframework.messaging.Message; */ public abstract class FunctionAroundWrapper implements BiFunction { - @SuppressWarnings("unchecked") @Override public final Object apply(Object input, FunctionInvocationWrapper targetFunction) { boolean isSkipOutputConversion = targetFunction.isSkipOutputConversion(); targetFunction.setSkipOutputConversion(true); Object result = null; - if (input instanceof Message || targetFunction.isOutputTypePublisher()) { + if (input instanceof Message || targetFunction.isOutputTypePublisher() || targetFunction.isInputTypePublisher()) { return this.doApply(input, targetFunction); } else if (targetFunction.isSupplier() && !targetFunction.isOutputTypePublisher()) {