RxJava - Operadores conectables

A continuación se muestran los operadores que tienen un control más preciso sobre la suscripción.

No Señor. Operador y descripción
1

Connect

Instruya a un Observable conectable para que emita elementos a sus suscriptores.

2

Publish

Convierte un Observable en Observable conectable.

3

RefCount

Convierte un Observable conectable en Observable ordinario.

4

Replay

Asegúrese de que cada suscriptor vea la misma secuencia de elementos emitidos, incluso después de que el Observable haya comenzado a emitir elementos y los suscriptores se suscriban más tarde.

Ejemplo de operador conectable

Cree el siguiente programa Java utilizando cualquier editor de su elección en, digamos, C: \> RxJava.

ObservableTester.java

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);
   }
}

Verificar el resultado

Compila la clase usando javac compilador de la siguiente manera:

C:\RxJava>javac ObservableTester.java

Ahora ejecute ObservableTester de la siguiente manera:

C:\RxJava>java ObservableTester

Debería producir el siguiente resultado:

0
7
abcdefg