如何解决PCF RabbitMQ队列中未确认的消息
我正在使用PCF运行我的spring-boot应用程序。还使用了PCF RabbitMQ服务。
我的问题是,有一段时间,队列中的消息被长时间固定在未确认的位置,并且我注意到PCF中正在运行的应用程序实例的数量小于RabbitMQ中活动的使用者通道的数量。
我还启用了自动缩放器,它将根据所应用的规则自动缩放应用实例。
我没有复制问题的运气,因为客户端应用程序中没有错误日志,而我唯一的解决方案是在PCF中重新启动应用程序。我还试图强行终止该应用程序,看来消费者渠道也被破坏了。
我可以查寻任何帮助或建议吗? 我将春季云流用于我的客户应用程序,并在yml文件中进行了非常基本的配置(没有dlq,没有自定义超时等)
谢谢!
解决方法
2.0.x不再受支持;但是,最新的2.0.x是2.0.14。
如果您在amqp客户端中使用自动恢复(不建议使用,因为Spring AMQP在客户端中的自动恢复之前具有自己的恢复机制),那么2.0.7中包含一个修复程序。
您至少应升级到2.0.14,但最好升级到受支持的新版本;当前版本是2.2.10。
也就是说,绝大多数此类问题是由侦听器线程“卡在”用户代码中引起的。下次发生线程转储时。
,我们遇到了类似的问题,据我所记得,我们不得不在Rabbit连接工厂上将autoRecoveryEnabled设置为false,因为这和spring自动恢复之间存在冲突。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。