Java:从 Play Framework 应用程序使用 Spring WebFlux 应用程序

标签 java playframework microservices reactive-programming spring-webflux

我对通过 HTTP 从 Play Framework 应用程序使用 Spring WebFlux 应用程序有一些疑问,您能否提供一些帮助?

微服务A是一个响应式(Reactive)Spring WebFlux,用Java 8、SpringBoot 2.1.4编写,它公开了这个API:

@Autowired private ReactiveCustomerRepository customerRepository;

@GetMapping("/customers")
public Flux<Customer> getAllCustomers() {
    Flux<Customer> c = customerRepository.findAll().delayElements(Duration.ofMillis(5000));
    return c;
}

我想通过 HTTP 从 Play Framework 微服务 B 以 react 方式使用它。

您能否提供一些关于如何实现这一目标的建议或小片段?

感谢您的帮助。

最佳答案

您可以尝试使用支持流式传输的不同内容类型 - application/stream+json。 Spring WebFlux 将序列化各个 Flux 元素并通过网络将它们一一发送。查看以下有关它的 SO 线程:Spring WebFlux Flux behavior with non streaming application/json

在 play-ws 端,您应该能够以 Source[T] 形式接收此数据。

关于Java:从 Play Framework 应用程序使用 Spring WebFlux 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56094802/

相关文章:

java - 如何从 X.509 证书生成 Java keystore

java - 关于提高高速缓存密集型系统的效率

.net - 在多个.NET应用之间进行通信的最有效方法

node.js - docker 上的微服务 - 架构

templates - 将列表映射到 HTML 并将结果插入 Play 2.0 模板中

java - 玩2.4 Finder抛出空指针异常

java - 在进行 Java 字符串比较时,~ (tilda) 的值是什么?

java - 正则表达式查找代码注释中的坏词

scala - 使用 Boxfuse 将 Play Framework 应用程序部署到 Amazon AWS 时出现 "host not allowed"错误

java - Ebean 中仍然存在多级级联