java - 一段时间内停止对rabbitmq的消息消费
问题描述
调用 SimpleMessageListenerContainer 类的 stop 方法就是关闭通道(“Closing channel for unresponsive consumer”)。但我不想关闭频道。我试图在一段时间内停止对消息的消费,一段时间后我想恢复对消息的消费。谁能给我建议我该怎么做?
解决方案
听起来您可能正在从侦听器线程中停止容器 - 这会导致死锁。
在另一个线程上调用 stop。
someTaskExecutor.execute(() -> container.stop());
这将释放侦听器线程。
推荐阅读
- javascript - 通过 phonegap 应用程序从同一网络中的移动设备与本地服务器通信
- javascript - 等待 Firestore 集合的导入操作完成
- javascript - 使用 Javascript 如何找到嵌套在空数组中的对象的路径?
- java - 为什么使用我的 AVL 树数据结构未获得正确的中位数?
- visual-studio-2019 - 在 Visual Studio 2019 中,如何快速从 if 语句中提取代码?
- c# - 绑定上下文初始化组件问题
- java - 无法在 Oracle Cloud 中创建 Oracle Java Cloud Service 实例
- excel - 当我转置字典项目时 vba 字典,我得到全零
- c++ - C++ 函数调用到 RISC-V 系统调用
- mysql - 在表 A 上插入后触发将表 C 中的值插入表 B