我阅读了有关spring cloud Stream 3.0的文档,了解了新使用java.util.function.[Supplier/Function/Consumer]来表示生产者、消耗者和生产者、消费者,这应该是正确的。
但我不明白供应商。
该文档指出,对供应商的轮询用于一致地为供应商生成数据,并且不需要程序参与。
但很多时候,我们需要在特定时间生成数据,例如网络请求,而我找不到任何相关文档或示例。
它可能就像注入供应商对象并调用 get() 方法一样简单,但如何禁用轮询调用呢?
感谢所有提供信息的人。
我们将更新 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)