我正在使用io.lettuce.core库,但在使用RedisPubSubReactiveCommands接口订阅频道时遇到了问题。
我有一个StatefulRedisPubSubConnection和一个活动的redis集群,我正在尝试订阅它。
和connection.async().subscribe("channel")一样,connection.sync().subscribe("channel")运行得也很好。但是,当我使用由lettuce提供的反应式“热可观察”界面时,如下所示:
connection.reactive().subscribe(channels).subscribe();
connection.reactive().observeChannels().doOnNext(this::notifyObservers).subscribe();它不会在redis上注册为订阅操作。我觉得我正在紧跟lettuce documentation中给出的例子。
我正在为一个接受热Flux可观察对象的接口编程,我即将用我自己的反应式包装器包装同步或异步连接接口,并将它们抛入管道中。我在这里做错了什么?
发布于 2019-10-03 23:27:45
如果其他人遇到同样的问题,结果是我将一个Set<String>对象传递给一个接受可变参数Object...的函数,但没有意识到它将整个集合视为一个单独的元素,而不是将其解析为一个可变参数数组。
我会让其他人从我愚蠢的错误中吸取教训。
https://stackoverflow.com/questions/58209752
复制相似问题