java - 使用 lettuce 响应式命令订阅 redis 频道 (pubsub)
问题描述
我正在使用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 的接口进行编程,并且我正在接近用我自己的反应式包装器包装同步或异步连接接口并将它们扔到管道中。我在这里做错了什么?
解决方案
万一其他人遇到同样的问题,事实证明我将一个Set<String>
对象传递给一个接受可变参数的函数,Object...
但没有意识到它将整个集合视为单个元素,而不是将其解析为可变参数数组。
我会把它留给其他人从我的愚蠢错误中学习。
推荐阅读
- python - 如何将初始点坐标链接到scipy中相应的Voronoi顶点坐标?
- javascript - 从输入中过滤掉所需的东西
- amazon-web-services - SQS 队列监听器(Springboot)
- parallel-processing - 在并行编程中,只划分一个等于可用处理器的问题有意义吗?
- python - 将列中的值转置到列标题?
- azure - 关于调用一个实体的多个编排功能的问题
- matlab - 使用 imagesc 使网格可见(Linux 软件 opengl)
- swift - 带有 Xcode 12 的 Interface Builder 文件中的未知类 QuoteDetailViewController
- python - 如何在 Jupyter Notebook 中运行使用 txt 文件的 py 文件
- .net-core - 使用 System.Diagnostic 中的 activitySource 时如何关闭自动 Request-Context httpHeader