You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ActiveMQ 5.19.x嵌入Camel 2.25.0未配SystemUsage却限存储100GB问题

异常原因
  1. ActiveMQ 5.19.x版本存在默认全局存储上限:你注释删除systemUsage配置后,broker不会取消存储限制,而是加载默认的storeUsage上限值100GB,和你之前配置过的上限值无关,属于版本默认行为。
  2. 队列级producerFlowControl=false配置仅能关闭单队列的生产流控规则,优先级低于broker全局存储上限校验,当全局存储占用触发阈值时,broker依然会强制停止生产者写入。
  3. Camel组件配置中brokerURL携带的broker.persistent=true参数仅控制持久化开关,不会覆盖broker的默认全局存储上限配置。
解决方案

方案1:显式设置合理的全局存储上限

放开注释的systemUsage配置段,根据实际磁盘容量设置对应阈值,配置示例如下:

<amq:systemUsage>
  <amq:systemUsage>
    <amq:memoryUsage>
      <amq:memoryUsage limit="1 gb"/> <!-- 可根据实际内存调整 -->
    </amq:memoryUsage>
    <amq:storeUsage>
      <amq:storeUsage limit="500 gb"/> <!-- 按需设置存储上限,支持单位:b/kb/mb/gb/tb -->
    </amq:storeUsage>
    <amq:tempUsage>
      <amq:tempUsage limit="100 gb"/> <!-- 临时存储上限 -->
    </amq:tempUsage>
  </amq:systemUsage>
</amq:systemUsage>

方案2:关闭全局存储硬限制

如果希望broker直接使用磁盘全部可用空间,无需额外限制,可将storeUsage的limit设为0即可:

<amq:storeUsage>
  <amq:storeUsage limit="0"/>
</amq:storeUsage>

注意:修改配置后需重启ActiveMQ broker生效,重启前可通过JMX控制台查看当前StoreUsage的Limit属性值,确认配置是否正常加载。

内容的提问来源于stack exchange,提问作者Radovan Bičiště

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 14:36:03