In this way, RxJava provides an additional module that allows us to easily convert one reactive type into another. Let's look at how to convert Observable<T> to Publisher<T> and adopt rx.Subscriber<T> to org.reactivestreams.Subscriber<T>.
Suppose we have an application that uses RxJava 1.x and Observable as the central communication type between components, as shown in the following example:
interface LogService { Observable<String> stream();}
However, with the publication of the Reactive Streams specification, we decide to follow the standard and abstract our interfaces from the following particular dependency:
interface LogService { Publisher<String> stream();}
As might be noticed, we easily replaced the Observable ...