Posponer el primer observador hasta que todos los demás observadores hayan sido llamados en RxJava

Tengo un evento observable que puede tener múltiples observadores.

El primer observador siempre es un código de limpieza que eliminará todas las demás suscripciones a los observables (esto se debe a que todos los demás observadores pueden agregarse más tarde por otras partes del código).

CompositeDisposable disposable = new CompositeDisposable();
Observable<Object> eventObservable = Observable.just(1);

disposable.add(eventObservable.subscribe(event -> {
    disposable.dispose();
    System.out.println("Observer 1");
}));

disposable.add(eventObservable.subscribe(event -> {
    System.out.println("Observer 2");
}));

disposable.add(eventObservable.subscribe(event -> {
    System.out.println("Observer 3");
}));

Salida de corriente:

Observer 1

Rendimiento esperado:

Observer 2
Observer 3
Observer 1

Una forma de lograr esto es agregar delaypara el primer observador. Pero eso no parece ser una forma adecuada de hacer esto.

¿Es posible asegurar adecuadamente que el primer observador siempre sea llamado después de que otros observadores existentes hayan sido llamados?

Respuesta 1

Estoy usando JPA 2 con la versión Hibernate. 4.1.7.Final como implementación de JPA. También estoy usando Spring framework v. 3.1.2.RELEASE para ser claro. Y aquí está mi problema. He escrito un método para agregar / actualizar ...

Estoy teniendo problemas con las clases anidadas en un proyecto para la escuela. Actualmente, estoy tratando de escribir un método para insertar un elemento en una estructura de datos de matriz irregular. Utiliza un objeto creado por un ...

Estoy empaquetando un software java webapp usando XAMPP para que mis usuarios no tengan que instalar dependencias como mysql. Puedo ejecutar la aplicación web. Copié el formato de los archivos de esquema (.frm) en el xampp ...

¿Es posible modificar el valor de retorno de un método abstracto durante el tiempo de ejecución? Por ejemplo: public abstract class Task {public abstract boolean validate (); public void setValidate (...