4.9. Eclipse Vert.x Reactive Extensions (Rx)中的更改


这部分论述了 Eclipse Vert.x 中的 Reactive Extensions (Rx)中的更改。Eclipse Vert.x 使用 RxJava 库。

4.9.1. 支持 RxJava 3

在 Eclipse Vert.x 4.1.0 中,支持 RxJava 3。

  • 一个新的 rxified API 位于 io.vertx.rxjava3 软件包中。
  • 与 Eclipse Vert.x JUnit5 集成由 vertx-junit5-rx-java3 绑定提供。

要升级到 RxJava 3,您必须进行以下更改:

  • pom.xml 文件中,&lt ;dependency& gt; 下的 RxJava 1 和 2 绑定从 vertx-rx-javavertx-rx-java2 更改为 vertx-rx-java3
  • 在应用程序中,将 io.vertx.reactivex.* 的导入更新为 io.vertx.rxjava3.*
  • 在应用程序中,同时更新 RxJava 3 类型的导入。如需更多信息,请参阅 RxJava 3 文档中的新内容

4.9.2. 从写入流中删除 Complete callback

WriteStreamSubscriber.onComplete () 回调已被删除。如果 WriteStream 有待处理的数据流需要写入,则调用此回调。

在 Eclipse Vert.x 4 中,使用 callbacks WriteStreamSubscriber.onWriteStreamEnd ()WriteStreamSubscriber.onWriteStreamError ()。这些回调在 WriteStream.end () 完成后调用。

WriteStreamSubscriber<Buffer> subscriber = writeStream.toSubscriber();

以下示例演示了如何从 Eclipse Vert.x 3.x 版本的 WriteStream 中创建适配器。

subscriber.onComplete(() -> {
    // Called after writeStream.end() is invoked, even if operation has not completed
});

以下示例演示了如何使用 Eclipse Vert.x 4 中的新回调方法从 WriteStream 创建适配器:

subscriber.onWriteStreamEnd(() -> {
    // Called after writeStream.end() is invoked and completes successfully
});
subscriber.onWriteStreamError(() -> {
    // Called after writeStream.end() is invoked and fails
});
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.