У меня есть переменная response.core.publisher.Mono, и я хочу подписаться на org.reactivestreams.Subscriber, хотя, похоже, она не работает. Я не могу понять Почему метод onNext никогда не вызывается? Я вижу метод onSubscribe, который называется нормально. Могу ошибиться, но поскольку Mono реализует Publisher, подписчик должен работать. Верно?
@Test
public void subscriberTest() {
Mono<String> m = Mono.just("Hello!");
Subscriber<String> s = new Subscriber<String>() {
@Override
public void onSubscribe(Subscription s) {
System.out.println("Subscription "+s);
}
@Override
public void onNext(String t) {
System.out.println("onNext "+t);
}
@Override
public void onError(Throwable t) {
System.out.println("Throwable "+t);
}
@Override
public void onComplete() {
System.out.println("onComplete");
}
};
m.subscribe(s);
Mono<String> m1 = Mono.just("Bye!");
m1.subscribe(System.out::println);
}
Хотя подписка на переменную m1 со ссылкой на метод работает нормально. Вот вывод консоли:
Subscription reactor.core.publisher.StrictSubscriber@4b168fa9
Bye!
Здесь я ожидаю увидеть Hello! фраза тоже.




https://www.reactive-streams.org/reactive-streams-1.0.0-javadoc/org/reactivestreams/Subscriber.html#onSubscribe-org.reactivestreams.Subscription- Здесь указано, что No data will start flowing until Subscription.request(long) is invoked.
Хорошо, спасибо! Я приму ваш ответ, если вы его создадите.