activemq-artemis - 如果 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
被击中,所有生产者都会被阻止吗?
解决方案
这是按设计工作的。当您点击时global-max-size
(address-full-policy
即BLOCK
在您的情况下)将在地址上强制执行。有关更多详细信息,请参阅文档。
对于它的价值,设置<global-max-size>1Mb</global-max-size>
and没有多大意义<max-size-bytes>50Mb</max-size-bytes>
。
推荐阅读
- spring - 将 spring boot 1.2 更新到 1.3 并将批处理作业添加到 spring 云数据流任务
- c++ - 从相机旋转中隔离“指南针”openGL
- python - 替换所有小于前 n 个(不同)最大熊猫的值
- spring-batch - 从 BATCH_JOB_EXECUTION 获取 START_TIME 的简单方法
- dart - 在 Flutter 中保持滚动视图偏移的同时添加列表视图项
- c# - SignalR/Ajax 方法调用
- svg - Aspose - SVG 生成文件时未正确显示
- node.js - Kubernetes 合并已删除作业和新作业
- typescript - 如何在 Typescript 中定义数组的数量
- javascript - 在 jQuery 中引导表单验证而不是纯 JavaScript?