Spring boot 当连接被RabbitMQ阻止时,Spring amqp不会引发超时异常

Spring boot 当连接被RabbitMQ阻止时,Spring amqp不会引发超时异常,spring-boot,rabbitmq,amqp,Spring Boot,Rabbitmq,Amqp,当RabbitMQ磁盘使用率或内存使用率达到较高阈值时,RabbitMQ将阻止连接 在spring amqp中,每当rabbitMQ阻塞连接时,都没有关于连接失败的错误消息 有没有办法在spring amqp中设置发布超时 提前感谢默认情况下,Spring amqp中未启用阻塞连接侦听器,我们需要将阻塞连接侦听器添加到rabbitmq连接工厂bean中,以获取阻塞连接通知 以下代码将起作用: connectionFactory.addConnectionListener(new Connecti

当RabbitMQ磁盘使用率或内存使用率达到较高阈值时,RabbitMQ将阻止连接

在spring amqp中,每当rabbitMQ阻塞连接时,都没有关于连接失败的错误消息

有没有办法在spring amqp中设置发布超时


提前感谢

默认情况下,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) {

    }

});
参考文献