spring 云流 3.0 存在生产者问题

There are producer issues with spring cloud stream 3.0

我阅读了有关 spring 云流 3.0 的文档,了解新使用 java.util.function。[Supplier/Function/Consumer] 来表示生产者、消费和生产、消费者,以及这应该是正确的。

但是我不了解Supplier。

文档指出,供应商轮询用于一致地为供应商生成数据,不需要程序参与。

但很多时候,我们需要在特定的时间生成一个数据,比如一个网络请求,我找不到任何相关的文档或例子。

注入 Supplier 对象并调用 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