栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

RabbitMQ的missingQueuesFatal参数

RabbitMQ的missingQueuesFatal参数

missingQueuesFatal(missing-queues-fatal)

描述

从1.3.5版本开始,SimpleMessageListenerContainer 就有了这个新属性.

当设为true (默认值)时,如果配置队列在中间件都不可用, 这会视为是致命的.这会导致应用程序上下文初始化失败; 同时, 当容器还在运行时删除了队列,也会发生这样的情况.
默认情况下,消费者进行3次重试来连接队列(5秒时间间隔),如果所有尝试都失败了则会停止容器.

在以前版本中,此选项是不可配置的.

当设置为false, 再做了三次重试后,容器将进入恢复模式, 这也伴随其它问题,如中间件已经发生了故障.

容器会根据recoveryInterval 属性来尝试恢复. 在每次恢复尝试期间,每个消费者会以5秒的时间间隔来尝试4次被动声明. 这个过程将无限期地继续下去(译者注:有点冲突)。

你也可以使用properties bean来为所有的容器全局设置属性,如下所示:

false
 

如果容器明确的设置了 missingQueuesFatal 属性,全局属性的值对此容器将无效.

默认的retry属性(5秒间隔3次重试)可通过下面的属性值来覆盖.

属性

mismatchedQueuesFatal(mismatched-queues-fatal)

描述

这是1.6版本中加入的新属性.当容器启动时,如果此属性为true (默认为false), 容器会检查上下文中声明的队列是否中间件中存在的队列是否一致.

如果属性不匹配(如. auto-delete) 或参数 (e.g. x-message-ttl) 存在, 容器 (和应用程序上下文) 会抛出致命异常而导致启动失败.如果是在恢复期间检测到的问题,容器会停止.

必须在上下文中存在单个RabbitAdmin (或使用rabbitAdmin属性在容器上特别配置);否则此属性必须为false.

如果在初始启动期间,中间件还不可用,容器启动后,当建立连接时会检查条件.

重要

该检查针对的是上下文的所有队列,而不仅仅是特定监听器配置使用的队列.如果你希望只检查容器使用的队列,你需要为这个容器配置单独的RabbitAdmin , 并使用rabbitAdmin 属性为其提供一个引用. 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/303762.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号