java - rxjava中如何不断地将数据流式传输到客户端?

标签 java spring spring-boot rx-java observable

考虑服务器上有无限Stream (java.util.stream.Stream)数据的情况,如下所示。

Stream.iterate(0,k-> k++);

我需要一种方法,这样我就可以拥有一个可以订阅该流并使用rx.Observable读取其内容的客户端。

我确实尝试从服务器端的 Controller 返回一个Observable,但出现以下异常java.lang.IllegalArgumentException:找不到类型为返回值的转换器:class rx.Observable

项目设置:

  1. 服务器和客户端是 Spring Boot 应用程序
  2. 编码和解码是使用 jackson-databind 完成的

具体问题:

  1. 我错过了什么? (要阅读的主题)
  2. 有没有办法使用任何其他 API 来编码 Observable

附注
我需要一个设置,客户端可以主动订阅和取消订阅服务器。
由于我是响应式编程的新手,请随时提出修改建议,以使问题变得更好。

最佳答案

我能够通过关注 Spring Tips: the Spring Web Flux Reactive Client 找到我的问题的解决方案

由于 Spring 5 的新 WebFlux 组件尚未最终确定(M. Deinum 在他的评论中提到),因此还没有可用的 javadoc,因此除非有人有足够的耐心来尝试不同类提供的不同方法,否则实际上不可能找到正确的解决方案。

以下链接可用于进一步查看和引用:
WebFlux Framework- spring doc
Spring Tips: Functional Reactive Endpoints with Spring Framework 5.0

附注
如果您找到更好的链接和教程,请随时编辑和更新答案。

关于java - rxjava中如何不断地将数据流式传输到客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44388663/

相关文章:

java - java中没有这样的文件异常

javascript - 如何在 Bootstrap 轮播的下一个/上一个点击上加载 JSP 页面

java - Spring 启动: How to get program args with ConfigurationProperties

java - Controller 的 Spring Boot 测试 @WebMvcTest 似乎在上下文中加载其他 Controller

java - 从 hh :mm:ss to hh:mm in java 转换时间

java - ActionListener 按钮不执行任何操作

Java Maven-Spring Web项目-将依赖项分离到Jar o War中

spring - 创建名称为 'dataSource' 的 bean 在 com.vinay.patients.config.AppConfig : Unsatisfied 中定义时出错

java - Spring启动问题 "There was an unexpected error (type=Internal Server Error, status=500)."

spring - 使用 spring-kafka-test 无法启动测试(NoClassDefFoundError)