ActiveMQ可以开启或关闭生产者流量控制Producer Flow Control ,基本原理是producer 发送一条消息会收到broker返回的ack响应,当磁盘或内存快满的时候broker就会限制producer发送消息,让部分producer处于等待状态。

<destinationPolicy>
  <policyMap>
    <policyEntries>
      <policyEntry topic="FOO.>" producerFlowControl="false"/>
    </policyEntries>
  </policyMap>
</destinationPolicy>

 

vmQueueCursor参数主要针对非持久化消息,activemq5.0以后非持久化消息会存储在temp store磁盘空间以释放内存,如果我们希望非持久化消息全部存储在内存中,达到memorylimit后阻止producer继续发送,就可以这么使用

<policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb">    //memoryLimit指定单个queue分配的内存空间
  <pendingQueuePolicy>
    <vmQueueCursor/>
  </pendingQueuePolicy>
</policyEntry>

  

相关文章:

  • 2022-12-23
  • 2022-01-21
  • 2021-04-29
  • 2021-08-30
  • 2021-06-05
  • 2021-08-27
  • 2021-04-04
  • 2022-01-28
猜你喜欢
  • 2021-10-14
  • 2021-12-17
  • 2022-12-23
  • 2021-10-31
  • 2021-12-05
  • 2021-09-20
  • 2021-11-25
相关资源
相似解决方案