GH-764 Fix output header mapping timing

Resolves #764
This commit is contained in:
Oleg Zhurakousky
2021-11-09 08:19:44 +01:00
parent 255211df85
commit 28eea09bc8
2 changed files with 13 additions and 9 deletions

View File

@@ -355,8 +355,9 @@ public class SimpleFunctionRegistry implements FunctionRegistry, FunctionInspect
? new BeanFactoryResolver(this.functionProperties.getApplicationContext())
: null;
HeaderEnricher enricher = new HeaderEnricher(configuration.getOutputHeaderMappingExpression(), beanResolver);
FunctionInvocationWrapper w = new FunctionInvocationWrapper("outputHeaderEnricher", enricher, Message.class, Message.class);
composedFunction = (FunctionInvocationWrapper) w.andThen((Function<Object, Object>) composedFunction);
Type mesageType = ResolvableType.forClassWithGenerics(Message.class, Object.class).getType();
FunctionInvocationWrapper enricherWrapper = new FunctionInvocationWrapper("outputHeaderEnricher", enricher, mesageType, mesageType);
composedFunction = (FunctionInvocationWrapper) composedFunction.andThen((Function<Object, Object>) enricherWrapper);
composedFunction.functionDefinition = functionDefinition;
}
}