用 Transformer 的值丰富 Header

Enriching Header with the value from the Transformer

我有一个 spring integration flow. 它读取文件。该文件可以属于 consumer.Once 我发现我想将 CONSUMER 添加到 header 的消费者所以稍后我可以使用例如在 error handling 中,我可以检查我是否让 consumer 查看 header.

IntegrationsFlows.from(directorySource)
.transform(new ConsumerFinderTransformer()
.enrichHeaders(h -> h.header("CONSUMER" ,payload)

如何在此处获取 ConsumerFinderTransformer 返回的 enrichHeaders 中的负载。

我找不到办法。任何帮助将不胜感激

这个适合你:

    /**
 * Add a single header specification where the value is a String representation of a
 * SpEL {@link Expression}. If the header exists, it will <b>not</b> be overwritten
 * unless {@link #defaultOverwrite(boolean)} is true.
 * @param name the header name.
 * @param expression the expression.
 * @return the header enricher spec.
 */
public HeaderEnricherSpec headerExpression(String name, String expression) {

所以,你的代码应该是这样的:

.enrichHeaders(h -> h.headerExpression(“CONSUMER" , “payload”)