春季云流3.0存在生产者问题

问题描述 投票:0回答:1

[我阅读了有关Spring Cloud Stream 3.0的文档,以使用java.util.function。[Supplier / Function / Consumer]理解新的内容,以代表生产者,消费和生产,消费者,这应该是正确的。

但是我不理解供应商。

文档指出,对供应商的轮询用于始终如一地为供应商生成数据,不需要计划参与。

但是很多时候,我们需要在特定时间生成数据,例如Web请求,而我找不到任何文档或示例。

它可能像注入Supplier对象并调用get()方法一样简单,但是如何禁用轮询调用?

感谢所有提供信息的人。

spring-cloud-stream spring-cloud-stream-binder-kafka
1个回答
2
投票
我们将更新SR1的文档,该文档将在几周后发布,但这是完整的代码,演示了如何完成所描述的内容。我们依靠来自项目反应堆的EmitterProcessor:

@SpringBootApplication @Controller public class WebSourceApplication { public static void main(String[] args) { SpringApplication.run(WebSourceApplication.class); } EmitterProcessor<String> processor = EmitterProcessor.create(); @RequestMapping @ResponseStatus(HttpStatus.ACCEPTED) public void delegateToSupplier(@RequestBody String body) { System.out.println("Sending " + body); processor.onNext(body); } @Bean public Supplier<Flux<String>> supplier() { return () -> processor; } }

然后是and then curl -H "Content-Type: text/plain" localhost:8080/ -d Hello
© www.soinside.com 2019 - 2024. All rights reserved.