如何在集成流中参数化对象



我有从数据库轮询数据的集成流程。我设置了返回对象列表的消息源,我想将此列表传递给subFlow中的方法handle

这是实现此目标的代码,但我收到编译错误:不兼容的类型消息到列表。

@Bean
    public IntegrationFlow integrationFlow(
            DataSource dataSource,
            MessageHandler amqpHandler,
            PersonService personService,
            PersonChecker personChecker) {
        return IntegrationFlows
                .from(getMessageSource(personService::getPersons), e -> e.poller(getPollerSpec()))
                .wireTap(subFlow -> subFlow.handle(personChecker::checkPerson))
                .split()
                .publishSubscribeChannel(pubSub -> pubSub
                        .subscribe(flow -> flow.bridge()
                                .transform(Transformers.toJson())
                                .handle(amqpHandler))
                        .subscribe(flow -> flow.bridge()
                                .handle(personService::markAsSent)))
                .get();
    }

我知道传递服务的解决方案和方法handle(personChecker, checkPerson)的名称,但它不适合我。

是否可以在方法handle列表中传入wireTap子流,其中包含对象Person而不是消息消息?

.handle((p, h) -> personService.checkPerson(p))

相关内容

  • 没有找到相关文章

最新更新