我有从数据库轮询数据的集成流程。我设置了返回对象列表的消息源,我想将此列表传递给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))