RxJava - Operadores conectáveis

A seguir estão as operadoras que têm controle mais preciso sobre a assinatura.

Sr. Não. Operador e descrição
1

Connect

Instrua um Observable conectável a emitir itens para seus assinantes.

2

Publish

Converte um Observável em um Observável conectável.

3

RefCount

Converte um Observável conectável em um Observável comum.

4

Replay

Garanta que a mesma sequência de itens emitidos seja vista por cada assinante, mesmo depois que o Observable começar a emitir itens e os assinantes se inscreverem posteriormente.

Exemplo de operador conectável

Crie o seguinte programa Java usando qualquer editor de sua escolha em, 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);
   }
}

Verifique o resultado

Compile a classe usando javac compilador da seguinte forma -

C:\RxJava>javac ObservableTester.java

Agora execute o ObservableTester da seguinte maneira -

C:\RxJava>java ObservableTester

Ele deve produzir a seguinte saída -

0
7
abcdefg