Proyecto reactor: collectList () no funciona para Flux.create ()

El siguiente ejemplo imprime enteros del 1 al 10 y una lista de (7, 8, 9, 10)

public void streamCollect() {

    ConnectableFlux<Integer> connect = Flux.range(1, 10)
            .publish();

    connect.subscribe(v -> System.out.println("1: " + v));

    connect
            .filter(number -> number > 6)
            .collectList()
            .subscribe(v -> System.out.println("4: " + v));

    connect.connect();
}

Resultado:

1: 1

1: 2

1: 3

1: 4

15

dieciséis

1: 7

1: 8

1: 9

1:10

4: [7, 8, 9, 10]

El siguiente ejemplo debería producir el mismo resultado pero imprime solo números del 1 al 10 pero no una lista. ¿Por qué?

public void streamCollect() {

    ConnectableFlux<Integer> connect = Flux.<Integer>create(emitter -> {

        Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
                .forEach(t -> emitter.next(t));
    }).publish();

    connect.subscribe(v -> System.out.println("1: " + v));

    connect
            .filter(number -> number > 6)
            .collectList()
            .subscribe(v -> System.out.println("4: " + v));

    connect.connect();
}

Resultado:

1: 1

1: 2

1: 3

1: 4

15

dieciséis

1: 7

1: 8

1: 9

1:10

Respuestas a la pregunta(1)

Su respuesta a la pregunta