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&
gt; 下的 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();
以下示例演示了如何从 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 });