Headerenricher Spring Integration和Java DSL

我正在使用Spring Integration和Java DSL规范来实现我的IntegrationFlow.
我想使用一个自定义的头文件扩充工具来向头文件添加一些文件名,就像这样:

public class FileHeaderNamingEnricher {
    public Message<File> enrichHeader(Message<File> fileMessage) {
            // getting some details fom the database ...
            return messageBuilder
                    .setHeader("filename", "somestuff")
                    .build();
        }  
}

我的集成流程如下所示:

public IntegrationFlow myflow() {
        return IntegrationFlows.from("input")
                                .enrich // here I want to enrich the header using my class
    }

有人可以帮我吗?

解决方法:

您可以让FileHeaderNamingEnricher扩展AbstractReplyProducingMesageHandler(将代码放入handleRequestMessage()中).

或者,实现GenericHandler< T>. (其handle方法将有效负载和标头作为参数获取,并可以返回消息).

然后使用.handle方法…

 ...
 .handle(myEnricher())
 ...

 @Bean
 public void MessageHandler myEnricher() {
    return new FileHeaderNamingEnricher();
 }
上一篇:DCM


下一篇:[转帖]BDD 与DSL 入门