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文件中,<dependency> 下的 RxJava 1 和 2 绑定从vertx-rx-java或vertx-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();
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
});
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.onWriteStreamEnd(() -> {
// Called after writeStream.end() is invoked and completes successfully
});
subscriber.onWriteStreamError(() -> {
// Called after writeStream.end() is invoked and fails
});
subscriber.onWriteStreamError(() -> {
// Called after writeStream.end() is invoked and fails
});