java - 未收到 RabbitMQ 阻塞连接通知
问题描述
我正在尝试BlockedListener
在 AMQP 上注册一个CachingConnectionFactory
以处理连接进入/离开阻塞状态的通知。不幸的是,我从来没有收到任何事件。
在我的 Java 客户端中,我正在使用:
org.springframework.amqp:spring-rabbit:jar:2.1.11.RELEASE
com.rabbitmq:amqp-client:jar:5.4.3
我的 Rabbit 服务器正在使用rabbitmq:3-management
映射到3.8.2
和Erlang 22.2.4
这是我用来连接rabbit和注册监听器的代码片段。
com.rabbitmq.client.ConnectionFactory rmqConnectionFactory = new com.rabbitmq.client.ConnectionFactory();
rmqConnectionFactory.useNio();
rmqConnectionFactory.setHost(rabbitmqHost);
rmqConnectionFactory.setUsername(rabbitmqUsername);
rmqConnectionFactory.setPassword(rabbitmqPassword);
rmqConnectionFactory.setPort(rabbitmqPort);
rmqConnectionFactory.setVirtualHost(rabbitmqVirtualHost);
CachingConnectionFactory cachingConnectionFactory = new CachingConnectionFactory(rmqConnectionFactory);
cachingConnectionFactory.addConnectionListener(new ConnectionListener() {
@Override
public void onCreate(Connection connection) {
log.info("New connection: {}", connection);
connection.getDelegate().addBlockedListener(new BlockedListener() {
@Override
public void handleBlocked(String s) {
log.warn("Connection {} entered a blocked state with message {}", connection, s);
}
@Override
public void handleUnblocked() {
log.info("Connection {} left a blocked state", connection);
}
});
}
});
我从
log.info("New connection: {}", connection);
但不是从
log.warn("Connection {} entered a blocked state with message {}", connection, s);
或者
log.info("Connection {} left a blocked state", connection);
我错过了什么?
解决方案
事实证明;但是,上面的代码/设置是正确的;在您尝试在该连接上发布消息之前,Rabbit 不会发送事件。
推荐阅读
- android - 我应该在 Android 应用程序中捆绑 Arm64-V8a 和 armeabi-v7a 吗?
- python - 多维 LSTM
- javascript - 如何在 React Native 中将 props 传递给模态组件
- python - 哈希表和键的最后一个值
- php - Onclick 事件不会直接触发 url
- python - 是否有内置方法可以从 Python 中的所有基类中获取所有 __annotations__ ?
- ubuntu-18.04 - 虚幻引擎 4.24:插件“AndroidPermission”加载失败,因为找不到模块“AndroidPermission”
- javascript - 节点 - 本地服务器:[错误:ENOENT:没有来自 Postman 的 xml 响应的此类文件或目录
- java - 为什么将图像复制到新变量中不会复制数据而是复制指针?
- r - geom_col with facet_grid with margins=TRUE 不堆叠?