Невозможно подписаться, используя группу - PullRequest
0 голосов
/ 04 ноября 2019

Я перепробовал много примеров, но у меня просто не получилось, я просто хочу получить сгруппированные результаты в виде списка, используя следующий код:

  private final PublishSubject<MyObject> s;

  public RabbitMQConsumer() {
    s = PublishSubject.create();
    s.groupBy(x -> x.getName())
    .flatMapSingle(x -> x.toList())
    .subscribe(x -> System.out.println(x));
  }

Это должно работать, как говорит примерОднако он никогда ничего не печатает. Если я удаляю groupby, он начинает распечатывать входящие значения.

Есть идеи, что я делаю не так?

1 Ответ

1 голос
/ 05 ноября 2019

Я сделал пример кода для вашего кода и работает нормально

List<String> list = Arrays.asList("AN", "BL", "CL", "DO", "AK", "LL", "BO", "DL");
Observable.fromIterable(list).groupBy(x -> x.charAt(0))
        .flatMapSingle(x -> x.toList())
        .subscribe(x -> System.out.println(x));

Вывод следующим образом:

[AN, AK]
[BL, BO]
[CL]
[DO, DL]
[LL]

Почему бы не переопределить onError (), чтобы увидеть, есть ли ошибка

...