Spring integration 与spring集成5.1.1中的enrichHeaders等效

Spring integration 与spring集成5.1.1中的enrichHeaders等效,spring-integration,Spring Integration,以下代码是在SpringIntegrationJavaDSL的1.2.1版本中编写的 IntegrationFlows.from(inMessageChannel())// .enrichHeaders( c -> c.<InMessage>headerFunction(HEADER_IN_MESSAGE_ID,

以下代码是在SpringIntegrationJavaDSL的1.2.1版本中编写的

IntegrationFlows.from(inMessageChannel())//
                    .enrichHeaders(
                            c -> c.<InMessage>headerFunction(HEADER_IN_MESSAGE_ID,
                                    (message) -> message.getPayload().getInMessage().getId())//
                                    .<InMessage>headerFunction(HEADER_ORIGINAL_MESSAGE_ID,
                                            (message) -> message.getPayload().getInMessage().getMessageId()),
                            c -> c.poller(Pollers.fixedDelay(100)//
                                    .transactional(platformTransactionManager)//
                                    .errorChannel(errorChannel())))//
                    .handle(...)
如果我正确理解1.2.1代码,轮询器被添加到
inMessageChannel()
,在新版本中,它尝试将轮询器添加到
errorChannel()
,这是不允许的

有什么想法吗? 谢谢大家!


PS:显然,我是spring集成的初学者,必须修改一些代码:)

从版本
5.0开始,
enrichHeaders()
确实已经改变了。 我们所做的只是两个
消费者的合并。因此,目前您需要对其进行如下配置:

        .enrichHeaders(
                        c -> c.<InMessage>headerFunction(HEADER_IN_MESSAGE_ID,
                                (message) -> message.getPayload().getInMessage().getId())//
                                .<InMessage>headerFunction(HEADER_ORIGINAL_MESSAGE_ID,
                                        (message) -> message.getPayload().getInMessage().getMessageId())
                                .poller(Pollers.fixedDelay(100)//
                                        .transactional(platformTransactionManager)//
                                        .errorChannel(errorChannel())))//
.enrichHeaders(
c->c.headerFunction(消息ID中的标题),
(消息)->message.getPayload().getInMessage().getId())//
.headerFunction(头\u原始\u消息\u ID,
(消息)->message.getPayload().getInMessage().getMessageId())
.轮询器(轮询器固定延迟(100)//
.transactional(平台事务管理器)//
.errorChannel(errorChannel()))//
请参阅《迁移指南》中的更多信息:

        .enrichHeaders(
                        c -> c.<InMessage>headerFunction(HEADER_IN_MESSAGE_ID,
                                (message) -> message.getPayload().getInMessage().getId())//
                                .<InMessage>headerFunction(HEADER_ORIGINAL_MESSAGE_ID,
                                        (message) -> message.getPayload().getInMessage().getMessageId())
                                .poller(Pollers.fixedDelay(100)//
                                        .transactional(platformTransactionManager)//
                                        .errorChannel(errorChannel())))//