ActiveMQ Artemis磁盘满策略设置:如何让生产者报错而非阻塞
ActiveMQ Artemis 磁盘满时返回错误而非阻塞生产者的配置方案
你使用的2.17版本支持该需求,只需修改broker.xml中的对应配置即可实现:
- 找到broker核心配置文件
broker.xml,定位到全局磁盘配置段,将block-on-disk-full参数的值设置为false,该参数默认值为true,即磁盘满时默认阻塞生产者,修改后触发磁盘满阈值时会直接向生产者抛出异常。 - 若需调整磁盘满的触发阈值,可同步修改同配置段下的
max-disk-usage参数,默认值为90,代表磁盘使用率达到90%时触发磁盘满策略,可根据实际场景调整数值。 - 若需调整磁盘使用率的扫描频率,可修改
disk-scan-period参数,默认值为5000,单位为毫秒,即每5秒扫描一次磁盘使用情况。
配置修改完成后需重启broker节点生效,复现磁盘满场景时,生产者会收到
javax.jms.ResourceAllocationException类型异常,对应错误码为AMQ229213,不会再进入阻塞状态。
内容的提问来源于stack exchange,提问作者Nicolas Verducou
相关产品推荐
相关产品推荐

