Подпишитесь на канал redis (pubsub) с помощью реактивных команд салата - PullRequest
0 голосов
/ 03 октября 2019

Я использую библиотеку io.lettuce.core , и у меня возникают проблемы с подпиской на канал с использованием интерфейса RedisPubSubReactiveCommands.

У меня есть StatefulRedisPubSubConnection и активный кластер redis, на который я пытаюсь подписаться.

connection.sync().subscribe("channel") работает нормально, как и connection.async().subscribe("channel"). Однако, когда я использую реактивный «горячий наблюдаемый» интерфейс, предоставляемый салатом, вот так:

connection.reactive().subscribe(channels).subscribe();
connection.reactive().observeChannels().doOnNext(this::notifyObservers).subscribe();

Он не будет регистрироваться как действие подписки на redis. Мне кажется, что я внимательно следую примеру, приведенному в документации салата .

Я программирую для интерфейса, который принимает горячую Flux Observable, и я приближаюсь коборачивая интерфейсы синхронизации или асинхронного соединения с моей собственной реактивной оболочкой и бросая их в канал. Что я тут не так делаю?

1 Ответ

0 голосов
/ 03 октября 2019

В случае, если кто-то столкнется с этой же проблемой, оказывается, что я передавал объект Set<String> в функцию, которая принимает переменные Object..., и не осознавал, что рассматривал всю коллекцию как один элементвместо того, чтобы анализировать его как массив varargs.

Я оставлю это другим, чтобы учиться на моей глупой ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...