2014-09-25 2 views
1

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

Сценарий: Я установил низкие значения для использования памяти и хранения временных данных. управление потоком

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

Производителя установлено в ложный

<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)

ответ

1

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

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

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

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

+0

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

-1

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

./activemq остановить

Надеются, что это помогает.

+0

Я хочу остановить производителя, а не брокера. – learner

Смежные вопросы