所有发送的消息均未被RabbitMQ阻塞队列确认

所有发送的消息均未被RabbitMQ阻塞队列确认,rabbitmq,amqp,spring-amqp,spring-rabbit,Rabbitmq,Amqp,Spring Amqp,Spring Rabbit,我已经向RabbitMQ中的一个exchange发送了大约500条消息。应用程序只处理了其中的8条消息,而492条消息没有得到确认。 有40个并发侦听器发送到我要发布到的exchange 日志如下: [taskExecutor-16]调试o.s.a.r.l.BlockingQueueConsumer-检索消费者的传递:tags=[{amq.ctag-cydNATSoJE9VYDXDxdS3og=Q102}],channel=Cached Rabbit channel:AMQChannelamqp

我已经向RabbitMQ中的一个exchange发送了大约500条消息。应用程序只处理了其中的8条消息,而492条消息没有得到确认。 有40个并发侦听器发送到我要发布到的exchange

日志如下:

[taskExecutor-16]调试o.s.a.r.l.BlockingQueueConsumer-检索消费者的传递:tags=[{amq.ctag-cydNATSoJE9VYDXDxdS3og=Q102}],channel=Cached Rabbit channel:AMQChannelamqp://guest@127.0.0.1:5672/,30,acknowledgeMode=自动本地队列大小=0

02:24:49.130[taskExecutor-19]调试o.s.a.r.l.BlockingQueueConsumer-检索消费者的传递:tags=[{amq.ctag-\u tAOgctllmGebYliKjCwPw=Q102}],channel=缓存的兔子通道:AMQChannelamqp://guest@127.0.0.1:5672/,25,acknowledgeMode=自动本地队列大小=0

02:24:49.130[taskExecutor-6]调试o.s.a.r.l.BlockingQueueConsumer-检索消费者的传递:标记=[{amq.ctag-MV9tAhL5QbhtTSOJACziHQ=Q102}],通道=缓存的兔子通道:AMQChannelamqp://guest@127.0.0.1:5672/,39,acknowledgeMode=自动本地队列大小=0

02:24:49.130[taskExecutor-30]调试o.s.a.r.l.BlockingQueueConsumer-检索消费者的传递:标记=[{amq.ctag-SG1nB33uxABsAry7jsc6sw=Q102}],通道=缓存兔子通道:AMQChannelamqp://guest@127.0.0.1:5672/,24,acknowledgeMode=自动本地队列大小=0

02:24:49.130[taskExecutor-12]调试o.s.a.r.l.BlockingQueueConsumer-检索消费者的传递:标记=[{amq.ctag-MOY_QKujE_JiiNLn9gn7AQ=Q102}],通道=缓存兔子通道:AMQChannelamqp://guest@127.0.0.1:5672/,34,acknowledgeMode=自动本地队列大小=0

02:24:49.130[taskExecutor-35]调试o.s.a.r.l.BlockingQueueConsumer-检索消费者的传递:标记=[{amq.ctag-BcKYuEPnscByD-h-3NpW3Q=Q102}],通道=缓存兔子通道:AMQChannelamqp://guest@127.0.0.1:5672/,12,acknowledgeMode=自动本地队列大小=0

02:24:49.130[taskExecutor-27]调试o.s.a.r.l.BlockingQueueConsumer-检索消费者的传递:标记=[{amq.ctag-O2d1WsSE-qHKhhZPu-plSg=Q102}],通道=缓存兔子通道:AMQChannelamqp://guest@127.0.0.1:5672/,23,acknowledgeMode=自动本地队列大小=0

02:24:49.130[taskExecutor-18]调试o.s.a.r.l.BlockingQueueConsumer-检索消费者的传递:标记=[{amq.ctag-vO9zIyE_t2zBdEElKW4R6w=Q102}],通道=缓存的兔子通道:AMQChannelamqp://guest@127.0.0.1:5672/,28,acknowledgeMode=自动本地队列大小=0


如何设置以避免阻塞队列问题?

您的问题不清楚。什么是阻塞队列问题?如果在日志中看不到更多内容,则表示侦听器代码中的线程被阻塞。您需要编辑问题以显示配置以及队列拓扑。。。40个并发侦听器到exchange。。。侦听器侦听队列,而不是交换。请提供更多详细信息。日志中指定的queueQ102与exchange之间存在绑定…日志中没有异常。。。mq.min.concurrent.consumer:40,mq.max.concurrent.consumer:100,mq.core.pool.size:40,mq.max.pool.size:100,mq.queue.capacity:1000,mq.shutdown.timeout:1000,mq.receive.timeout:60000,mq.prefetch:80,不要在注释中放置配置;它们不容易阅读;改为编辑问题,并提供完整的配置。我不知道这些参数是什么;它们似乎是任务执行器和侦听器容器配置的混合体。我需要查看所有相关配置,而不仅仅是您认为我需要的配置。正如我所说的,如果日志中没有其他内容,这意味着这8个线程很可能会卡在您的用户代码中。jstack将告诉您他们在做什么。@GaryRussell…感谢您的更新..将使用所需的配置编辑问题..将使用jstack并调试应用程序