首页 > 解决方案 > 如果 global-max-size 命中地址被阻塞

问题描述

我有这个broker.xml

...
<global-max-size>1Mb</global-max-size>
...
<address-setting match="MyQueue">
   <address-full-policy>BLOCK</address-full-policy>
   <max-size-bytes>50Mb</max-size-bytes>
</address-setting>
...

使用此配置,我观察到MyQueue一旦global-max-size被击中就会被阻止:

2021-07-07T17:53:16.678+02 WARN [org.apache.activemq.artemis.core.server] AMQ222038: Starting paging on address 'OtherQueue'; size is currently: 351,993 bytes; max-size-bytes: -1; global-size-bytes: 1,066,966
2021-07-07T17:53:16.704+02 WARN [org.apache.activemq.artemis.core.server] AMQ222183: Blocking message production on address 'MyQueue'; size is currently: 662,049 bytes; max-size-bytes on address: 52,428,800, global-max-size is 1,100,882

这是否按设计工作?如果global-max-size被击中,所有生产者都会被阻止吗?

标签: activemq-artemis

解决方案


这是按设计工作的。当您点击时global-max-sizeaddress-full-policyBLOCK在您的情况下)将在地址上强制执行。有关更多详细信息,请参阅文档

对于它的价值,设置<global-max-size>1Mb</global-max-size>and没有多大意义<max-size-bytes>50Mb</max-size-bytes>


推荐阅读