Не удается остановить ActiveMQ Producer?

1

Я не могу остановить 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: Hidden) для предотвращения очереди наводнения://test.queue.0. См. Http://activemq.apache.org/producer-flow-control.html для получения дополнительной информации (блокировка для: 151s)

Теги:
activemq
middleware
jms

2 ответа

1

Вы не отключили производителяFlowControl для очередей, только для тем.

Вам нужно добавить что-то вроде этого:

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

Ссылка, предоставленная журналами, объясняет поведение довольно подробно. Ваш продюсер каким-то образом наводняет брокер, и брокер некоторое время реагирует на блокирование.

  • 0
    Я также отключил очередь, извините, что пропустил эту деталь в вопросе. Даже если брокер заблокировал продюсера, если я хочу остановить своего продюсера, я смогу сделать это правильно?
0

перейдите в путь папки bin из терминала и выполните следующую команду:

./activemq stop

Надеюсь, поможет.

  • 0
    Я хочу остановить продюсера, а не брокера.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню