Java 无法停止ActiveMQ生产者?

Java 无法停止ActiveMQ生产者?,java,apache,jms,activemq,middleware,Java,Apache,Jms,Activemq,Middleware,我无法停止ActiveMQ Producer 情况是: 我已经为内存使用和临时存储设置了较低的值 <systemUsage> <systemUsage> <memoryUsage> <memoryUsage limit="1 mb" /> </memoryUsage> <storeUsage> <storeUsage limit="100 gb" />

我无法停止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:隐藏)以防止泛洪queue://test.queue.0. 有关更多信息,请参阅(阻止:151s)

您尚未禁用队列的producerFlowControl,仅针对主题

您需要添加如下内容:

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


日志提供的链接非常详细地解释了该行为。您的生产者不知何故正在淹没代理,代理通过阻塞一段时间作出响应。

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

/activemq停止


希望有帮助。

我也禁用了队列,很抱歉遗漏了这个细节。即使经纪人阻止了制作人,若我想阻止我的制作人,我应该能够这样做,对吗?我想阻止制作人而不是经纪人。