Сегодня я увидел много ошибок на своей консоли ActiveMQ 5.3.2:
ИНФОРМАЦИЯ | Достигнут предел памяти диспетчера использования. Остановка производителя (ID: ...) для предотвращения флуда topic: // mytopic. См. http://activemq.apache.org/producer-flow-control.html для получения дополнительной информации (блокировка на: 3422 мс)
Я немного покопался и определил, что подписчик ушел обедать:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp6 0 130320 10.208.87.178:61613 66.31.31.216:37951 ESTABLISHED
В этой ситуации я не хочу, чтобы производитель блокировал; Я бы предпочел полностью отказаться от клиента. http://activemq.apache.org/slow-consumer-handling.html объясняет, как ограничить количество сообщений в очереди, что является хорошим началом, но не совсем то, что я хочу. http://activemq.apache.org/slow-consumers.html намекает на то, что может отказаться от медленного потребителя, но не объясняет, как это можно сделать.
Итак, это мой вопрос: можно ли настроить ApacheMQ для полного отбрасывания медленных потребителей и как мне это сделать?