Spring AMQP追加器挂起消息计数

Spring AMQP追加器挂起消息计数,spring,rabbitmq,spring-amqp,Spring,Rabbitmq,Spring Amqp,我们正在向RabbitMQ群集发送审核日志消息,该群集有时由于我们无法影响的原因而不可用 当队列不可用时,日志消息开始在本地累积,我们最终会在客户端内存不足 我们正在使用提交邮件 有没有一种方法可以查询挂起日志消息的计数,并在消息开始累积时发出警报?嗯,这是不可能的。没有任何钩子可以做到这一点 您可以考虑将Max SyrdRebug从默认的30降低到1或2。之后,您将开始丢失日志消息: int retries = event.incrementRetries(); if (retries <

我们正在向RabbitMQ群集发送审核日志消息,该群集有时由于我们无法影响的原因而不可用

当队列不可用时,日志消息开始在本地累积,我们最终会在客户端内存不足

我们正在使用提交邮件


有没有一种方法可以查询挂起日志消息的计数,并在消息开始累积时发出警报?

嗯,这是不可能的。没有任何钩子可以做到这一点

您可以考虑将Max SyrdRebug从默认的30降低到1或2。之后,您将开始丢失日志消息:

int retries = event.incrementRetries();
if (retries < AmqpAppender.this.maxSenderRetries) {
    // Schedule a retry based on the number of times I've tried to re-send this
    AmqpAppender.this.retryTimer.schedule(new TimerTask() {
            @Override
            public void run() {
                AmqpAppender.this.events.add(event);
            }
        }, (long) (Math.pow(retries, Math.log(retries)) * 1000));
}
else {
    addError("Could not send log message " + logEvent.getMessage()
                + " after " + AmqpAppender.this.maxSenderRetries + " retries", e);
}
请随时就此事提出意见

public LinkedBlockingQueue() {
    this(Integer.MAX_VALUE);
}