【问题标题】:Spring Cloud Stream Source returning a reactive Flux<>?Spring Cloud Stream Source 返回响应式 Flux<>?
【发布时间】:2017-04-13 07:50:24
【问题描述】:

我正在尝试使用 Spring Cloud Stream Source 来输出反应通量(来自 Project Reactor)。 在我的 pom.xml 中,spring-cloud-stream-reactivereactor-core 被导入为依赖项。 我已经声明了以下代码:

@SpringBootApplication
@EnableBinding(Source.class)
public class SensorDataSourceApplication {

   @StreamListener
   @Output(Source.OUTPUT)
   public Flux<String> emitPolling() {
     return Flux.intervalMillis(5000)
                .log()
                .map(l -> "Hello World!!")
                .log()
                ;
   }
}

但我的处理器或接收器中没有任何东西。我发现的所有示例都与Processor 有关。所以,我想知道是否可以为Source 做类似的事情?

提前致谢。

【问题讨论】:

    标签: spring-cloud-stream


    【解决方案1】:

    @StreamListener 本质上旨在用于接收器和处理器。

    我已添加 https://github.com/spring-cloud/spring-cloud-stream/issues/722 来跟踪此要求。

    【讨论】:

    • 您的意思是处理器和接收器 :) 感谢您的回答!
    • 你认为不使用@InboundChannelAdapter(channel = Source.OUTPUT, poller = @Poller(fixedRate = "10"))而使用响应式库构建源代码可行吗?我的意思是,可能比添加一些注释需要更多的编码工作。
    • @InboundChannelAdapter 直接写入通道 - 如果需要,您可以使用它,但它是一个独特的实现。
    • 对于另一个问题 - 我没有看到反应式轮询源的好处,但我确实看到了一些使用反应式 API 与数据库或其他数据源交互的源.所以,是的,但也许这个用例是人为的。
    猜你喜欢
    • 1970-01-01
    • 2018-11-17
    • 1970-01-01
    • 2020-04-29
    • 2020-06-01
    • 2017-07-03
    • 2018-12-19
    • 2016-06-20
    • 2020-03-17
    相关资源
    最近更新 更多