在自定义调度程序上没有调用RxJava挂钩

时间:2016-08-08 12:34:11

标签: java rx-java

我通过

注册了一个钩子
RxJavaHooks.setOnScheduleAction(new MyOnScheduleAction());

并使用

创建自定义调度程序(用于测试目的)
Scheduler scheduler = Schedulers.from(Executors.newSingleThreadExecutor());

但是以下代码不会调用已注册的钩子:

Observable.create(subscriber -> {
    subscriber.onNext("Hi");
    subscriber.onComplete();
}).subscribeOn(scheduler).subscribe(myTestSubscriber);

但是,如果我将subscribeOn(scheduler)替换为subscribeOn(Schedulers.io())(或subscribeOn(Schedulers.computation()),则会按预期调用该挂钩。

这是预期的行为吗?我正在使用RxJava 1.1.8。

1 个答案:

答案 0 :(得分:2)

这是Schedulers.from()的错误,将在1.1.9中修复。您可以跟踪相关问题/ pr here