队列中的PCF RabbitMQ未确认消息

队列中的PCF RabbitMQ未确认消息,rabbitmq,spring-cloud-stream,spring-amqp,pcfdev,Rabbitmq,Spring Cloud Stream,Spring Amqp,Pcfdev,我正在使用PCF运行我的spring boot应用程序。还使用了PCF RabbitMQ服务 我的问题是,有一段时间队列中的消息被长时间固定在unacked中,我注意到PCF中正在运行的应用程序实例的数量少于RabbitMQ中活动的使用者通道的数量 我还启用了autoscaler,它将根据应用的规则自动放大/缩小应用程序实例 我无法复制该问题,因为客户端应用程序中没有错误日志,我所做的唯一解决方案是在PCF中重新启动应用程序。我还试图强制终止应用程序,似乎消费者渠道也被破坏了 有什么我可以查

我正在使用PCF运行我的spring boot应用程序。还使用了PCF RabbitMQ服务

我的问题是,有一段时间队列中的消息被长时间固定在unacked中,我注意到PCF中正在运行的应用程序实例的数量少于RabbitMQ中活动的使用者通道的数量

我还启用了autoscaler,它将根据应用的规则自动放大/缩小应用程序实例

我无法复制该问题,因为客户端应用程序中没有错误日志,我所做的唯一解决方案是在PCF中重新启动应用程序。我还试图强制终止应用程序,似乎消费者渠道也被破坏了

有什么我可以查阅的帮助或建议吗? 我在我的消费者应用程序中使用了SpringCloudStream,并在yml文件中使用了非常基本的配置(没有dlq,没有自定义超时等)


提前谢谢

2.0.x不再受支持;但是,最新的2.0.x版本是2.0.14

如果您在amqp客户机中使用自动恢复(不推荐,因为Spring amqp在客户机中有自己的恢复机制,在自动恢复之前),2.0.7中包含了一个修复程序

您应该至少升级到2.0.14,但最好升级到支持的更新版本;目前的版本是2.2.10


也就是说,绝大多数类似的问题都是由侦听器线程“卡在”用户代码中引起的;下次发生线程转储时,请执行该操作。

2.0.x不再受支持;但是,最新的2.0.x版本是2.0.14

如果您在amqp客户机中使用自动恢复(不推荐,因为Spring amqp在客户机中有自己的恢复机制,在自动恢复之前),2.0.7中包含了一个修复程序

您应该至少升级到2.0.14,但最好升级到支持的更新版本;目前的版本是2.2.10


也就是说,绝大多数类似的问题都是由侦听器线程“卡在”用户代码中引起的;下次发生时进行线程转储。

我们有类似的问题,据我记忆所及,我们必须在rabbit connection factory上将automaticRecoveryEnabled设置为false,因为这与spring自动恢复之间存在冲突。

据我记忆所及,我们也有类似的问题,我们必须在rabbit connection factory中将automaticRecoveryEnabled设置为false,因为此设置与spring自动恢复之间存在冲突。

感谢您的回复,我们将监控我们的应用程序,并在下次获取线程转储。希望能找到些什么。还将尝试升级我们正在使用的spring amqp版本。感谢您的回复,我们将监控我们的应用程序,并在下次获得线程转储。希望能找到些什么。还将尝试升级我们正在使用的spring amqp版本。我们正在使用的版本中的rabbit连接工厂正在默认情况下将automaticRecoveryEnabled设置为false。发现一些东西,有一个工件(spring\u auto\u Reconfication-2.XX.X\u RELEASE.jar)在PCF中与spring boot应用程序一起运行,该应用程序自动配置连接工厂并使automaticRecoveryEnabled值为true。我们正在使用的版本中的rabbit连接工厂正在默认情况下将automaticRecoveryEnabled设置为false。发现一些问题,存在一个工件(spring\u auto\u Reconfication-2.XX.X\u RELEASE.jar)在PCF中与spring boot应用程序一起运行,该应用程序自动配置连接工厂并使automaticRecoveryEnabled值为true。