无法停止ActiveMQ Producer?

时间:2014-09-25 13:23:35

标签: java apache jms activemq middleware

我无法停止ActiveMQ Producer。

场景是: 我为内存使用和临时存储设置了较低的值。

<systemUsage>
  <systemUsage>
    <memoryUsage>
      <memoryUsage limit="1 mb" />
    </memoryUsage>
    <storeUsage>
      <storeUsage limit="100 gb" />
    </storeUsage>
    <tempUsage>
      <tempUsage limit="50 mb" />
    </tempUsage>
  </systemUsage>
</systemUsage>

生产者流程控制设置为false

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

现在经纪人已经阻止了制作人,我无法阻止制片人,为什么会这样呢?

经纪人日志说:

停止生产者(ID:隐藏)以防止泛滥队列://test.queue.0。有关详细信息,请参阅http://activemq.apache.org/producer-flow-control.html(阻止:151s)

2 个答案:

答案 0 :(得分:1)

您尚未为队列禁用producerFlowControl,仅用于主题。

您需要添加以下内容:

<policyEntry queue=">" producerFlowControl="false"/>

日志提供的链接非常详细地解释了行为。你的制作人在某种程度上充斥着经纪人,经纪人通过封锁来回应一段时间。

答案 1 :(得分:-1)

从终端转到bin文件夹路径并运行以下命令:

./ activemq stop

希望它有所帮助。