
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