У меня настроено 2 очереди в брокере ActiveMQ. Требуется проверить, работает ли управление потоком производителей и что производители для обеих очередей останавливаются, когда нет памяти. Как только происходит событие, сообщения начинают ставиться в очередь в обеих очередях, но все останавливается после того, как память достигает 100% (иногда это также более 100%, не знаю, как это возможно для постоянных сообщений). Память никогда не уменьшается со 100%, поэтому производители могут снова начать помещать сообщения в обе очереди.
<policyEntry queue=">" memoryLimit="1000MB" producerFlowControl="true"/>
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage percentOfJvmHeap="70" />
</memoryUsage>
<storeUsage>
<storeUsage limit="50MB"/>
</storeUsage>
<tempUsage>
<tempUsage limit="50MB"/>
</tempUsage>
</systemUsage>
</systemUsage>
![Here is the screenshot of memory](https://i.stack.imgur.com/QTJBy.png)
Что-то не так с конфигурацией? Я хочу замедлить продюсера, когда память заполнена (в основном, перестать ставить в очередь) и снова запустить, когда память свободна. Почему память не становится свободной? Есть ли способ замедлить очереди производителей даже до того, как память заполнится, если в очереди уже достаточно элементов для удаления из очереди?