如果命中 global-max-size 地址被阻塞
If global-max-size is hit address is blocked
我的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
被击中,所有生产者都会被阻止吗?
这是按设计工作的。当您点击 global-max-size
时,将在地址上强制执行 address-full-policy
(即在您的情况下为 BLOCK
)。有关详细信息,请参阅 the documentation。
就其价值而言,设置<global-max-size>1Mb</global-max-size>
和<max-size-bytes>50Mb</max-size-bytes>
没有多大意义。
我的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
被击中,所有生产者都会被阻止吗?
这是按设计工作的。当您点击 global-max-size
时,将在地址上强制执行 address-full-policy
(即在您的情况下为 BLOCK
)。有关详细信息,请参阅 the documentation。
就其价值而言,设置<global-max-size>1Mb</global-max-size>
和<max-size-bytes>50Mb</max-size-bytes>
没有多大意义。