Following are the operators which has more precisely control over subscription.
Sr.No. | Operator & Description |
---|---|
1 | Connect Instruct a connectable Observable to emit items to its subscribers. |
2 | Publish Converts an Observable to connectable Observable. |
3 | RefCount Converts a connectable Observable to ordinary Observable. |
4 | Replay Ensure same sequence of emitted items to be seen by each subscriber, even after the Observable has begun emitting items and subscribers subscribe later. |
Create the following Java program using any editor of your choice in, say, C:\> RxJava.
import io.reactivex.Observable; import io.reactivex.observables.ConnectableObservable; //Using connect operator on a ConnectableObservable public class ObservableTester { public static void main(String[] args) { String[] letters = {"a", "b", "c", "d", "e", "f", "g"}; final StringBuilder result = new StringBuilder(); ConnectableObservable<String> connectable = Observable.fromArray(letters).publish(); connectable.subscribe(letter -> result.append(letter)); System.out.println(result.length()); connectable.connect(); System.out.println(result.length()); System.out.println(result); } }
Compile the class using javac compiler as follows −
C:\RxJava>javac ObservableTester.java
Now run the ObservableTester as follows −
C:\RxJava>java ObservableTester
It should produce the following output −
0 7 abcdefg