2016-07-27 9 views
2

が廃止されました:RxJavaPlugins.getInstanceは、私はテストのために私のスケジューラを上書き

RxJavaPlugins.getInstance().registerSchedulersHook(object : RxJavaSchedulersHook() { 
    override fun getIOScheduler() = Schedulers.immediate() 
    override fun getComputationScheduler() = Schedulers.immediate() 
    override fun getNewThreadScheduler() = Schedulers.immediate() 

    }) 

しかし、ドキュメントは言う:

非推奨RxJavaHooksの静的メソッドを使用します。

RxJavaHooksを使用してこれらのスケジューラを無効にするにはどうすればよいですか?

答えて

10

Release notes for 1.1.7 Javaでこれを行う方法のサンプルが含まれています。計算スケジューラを設定するための小型の抜粋:デフォルトでも

あり

RxJavaHooks.setOnIOScheduler(current -> Schedulers.immediate()) 
RxJavaHooks.setOnComputationScheduler(current -> Schedulers.immediate()) 
RxJavaHooks.setOnNewThreadScheduler(current -> Schedulers.immediate()) 

、元RxJavaPlugins コールバックへのすべてのRxJavaHooks委譲が古い道をフックしている場合ので、彼らはまだ動作します。 RxJavaHooks.reset()はこの委任にリセットされ、RxJavaHooks.clear() はすべてのフックをクリアします(すべてがパススルーフックになります)。

関連する問題