Completable 不会发射数据,只会给下游发送一个信号。回调 onComplete
方法。
package com.netty.demo.vertx;
import io.reactivex.*;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class RxJavaTest {
public static void main(String[] args) throws InterruptedException {
Completable.create(new CompletableOnSubscribe() {
@Override
public void subscribe(CompletableEmitter e) throws Exception {
log.info("start send data");
//不发送数据,只发送一个完成信号或者异常信息
e.onComplete();
//e.onError(new RuntimeException("exec"));
}
}).observeOn(Schedulers.newThread()) //发布者线程
.subscribeOn(Schedulers.io())//订阅者线程
.subscribe(new CompletableObserver(){
@Override
public void onSubscribe(Disposable d) {
log.info("onSubscribe");
}
@Override
public void onComplete() {
log.info("onComplete");
}
@Override
public void onError(Throwable e) {
log.error("onError:" + e);
}
});
Thread.sleep(300000000);
}
}