当RabbitMQ磁盘使用或内存使用率达到更高阈值时,RabbitMQ将阻止连接
在spring amqp中,每当rabbitMQ阻止连接时,都没有关于连接失败的错误消息
有没有办法在spring amqp中为发布设置超时?
提前致谢
答案 0 :(得分:0)
默认情况下,Spring amqp中未启用阻止连接侦听器,我们需要将已阻止的连接侦听器添加到rabbitmq连接工厂bean以获取阻止的连接通知。
以下代码将起作用:
connectionFactory.addConnectionListener(new ConnectionListener() {
@Override
public void onCreate(Connection connection) {
Channel channel = connection.createChannel(false);
channel.getConnection().addBlockedListener(new BlockedListener() {
@Override
public void handleUnblocked() throws IOException {
}
@Override
public void handleBlocked(String reason) throws IOException {
}
});
try {
channel.close();
}
catch (IOException e) {
}
}
@Override
public void onClose(Connection connection) {
}
});
参考