【发布时间】:2020-05-27 14:04:44
【问题描述】:
错误消息:原因:java.lang.IllegalStateException:不允许空关联。也许 CorrelationStrategy 失败了?
我的实现,
@Bean
public IntegrationFlow start() {
return IntegrationFlows
.from("getOrders")
.split()
.publishSubscribeChannel(c -> c.subscribe(s -> s.channel(q -> q.queue(1))
.<Order, Message<?>>transform(p -> MessageBuilder.withPayload(new Item(p.getItems())).setHeader(ORDERID, p.getOrderId()).build())
.split(Item.class, Item::getItems)
.transform() // let's assume, an object created for each item, let's say ItemProperty to the object.
// Transform returns message; MessageBuilder.withPayload(createItemProperty(getItemName, getItemId)).build();
.aggregate() // so, here aggregate method needs to aggregate ItemProperties.
.handle() // handler gets List<ItemProperty> as an input.
))
.get();
}
两个分离器都可以正常工作。我还测试了第二个分离器后的变压器,工作正常。但是,当涉及到聚合时,它是失败的。我在这里缺少什么?
【问题讨论】:
标签: spring-integration spring-integration-dsl