2.21. 扩展 RESTEasy 支持异步请求处理和 Reactive Return 类型

重要

扩展 RESTEasy 支持仅作为技术预览提供。技术预览功能不包括在红帽生产服务级别协议(SLA)中,且其功能可能并不完善。因此,红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

如需有关技术预览功能支持范围的信息,请参阅红帽客户门户网站中的技术预览功能支持范围。

2.21.1. 可插拔响应类型

JAX-RS 2.1 可以扩展以支持各种被动库。RESTEasy 的可选模块 resteasy-rxjava2 支持以下被动类型:

  • io.reactivex.Single :与 CompletionStage 类似,因为它最多有一个潜在值。
  • io.reactivex.Flowable :Implements io.reactivex.Publisher.
  • io.reactivex.Observable :与 Flowable 类似,只是不支持反压缩,订阅者可以通过调用 Subscription.request() 来控制从生产者收到的负载。

如果您导入 resteasy-rxjava2,您可以从服务器端的资源方法返回这些被动类型,并在客户端端接收它们。

resteasy-rxjava2 模块支持以下三个类分别访问客户端一侧的 Singles、Oservables 和 Flowables:

  • org.jboss.resteasy.rxjava2.SingleRxInvoker
  • org.jboss.resteasy.rxjava2.FlowableRxInvoker
  • org.jboss.resteasy.rxjava2.ObservableRxInvoker