我尝试了spring-cloud函数,并与RabbitMQ集成。因此,我的生产者通过IO操作获取元素列表(比方说一个数据库调用)。列表不是作为一个消息发布的,我试图使它张贴一堆单独的消息到我的交换。这样我的下一个处理器(它从列表中消费)可以拾取元素并单独处理它们。我的发布者看起来像这样:
@Bean
Supplier<List<Foo>> publisher() {
return str -> fooDAO.findAll();
}
我希望我的队列像这样:
@Bean
Consumer<Foo> consumer() {
return foo -> barDAO.save(foo.getBar());
}
2条答案
按热度按时间ccgok5k51#
使用
StreamBridge
发送每条消息。请访问https://docs.spring.io/spring-cloud-stream/docs/current/reference/html/spring-cloud-stream.html#_sending_arbitrary_data_to_an_output_e_g_foreign_event_driven_sources
k2arahey2#
上面Gary提供的答案很好用。再增加一种方法来实现这个目的...也就是说,通过返回一个消息集合。
批处理生成器
Spring Cloud Stream -超越基础:批量发布