Я использую стратегию закрытия по умолчанию в своем тексте camelcontext. Маршрут начинается с потребителя rabbitmq, который потребляет из очереди более 10 тыс. Сообщений. Когда я останавливаю маршрут, потребитель продолжает потреблять новые сообщения из очереди. Следовательно, подсчет обмена светом никогда не уменьшается, и маршрут ждет завершения до значения тайм-аута по умолчанию (300 секунд). Есть ли способ изменить это поведение? В основном остановите потребителя rabbitmq от потребления новых сообщений при завершении работы.Camel ShutdownStrategy: Inflight Сообщения не уменьшаются
ответ
Рекомендуется сохранять тайм-аут во время выключения вашего маршрута, так как это позволит время для изящного отключения вашего маршрута, и если оно не сможет изящно выполнить остановку, тогда оно будет принудительно завершено , Ниже приведены несколько ссылок на дополнительную информацию об использовании стратегии завершения по умолчанию.
http://camel.apache.org/graceful-shutdown.html
В последней ссылке, которую я рекомендовал бы глядя на раздел ShutdownRunningTask документа, как швы вы работаете потребитель, который потребляет, как пакетного потребителя.
У меня такая же проблема с вами. Дело в том, что, закрывая, Верблюд предпочитает приостанавливать потребителей, а не закрывать их. В настоящее время потребитель RabbitMQ не реализует метод suspend(). Проблема будет исправлена в версии 2.16.2
- 1. Отмена сообщения Camel
- 2. ActiveMq Inflight Count не уменьшается
- 3. Camel - Сохранение копии сообщения
- 4. ActiveMQ Сообщения не расходуются весной boot, camel
- 5. Потребители верблюдов все еще получают новые сообщения при закрытии
- 6. Apache Camel: Что отправляет сообщения?
- 7. Максимальное сообщение Inflight в mosquitto
- 8. Akka Camel - потерянные сообщения JMS - должен ждать инициализации Camel?
- 9. mosquitto - max inflight messages does not work
- 10. обе переменные уменьшаются пропорционально
- 11. Элементы Flex не уменьшаются при уменьшении окна
- 12. правила никогда не уменьшаются, понимая, почему
- 13. Запасы не уменьшаются при создании заказа программно
- 14. Почему изображения больше заданного размера не уменьшаются
- 15. Вызов springWs для проверки сообщения от Camel
- 16. Запись сообщения JSON в Camel Route
- 17. ClassCastException при отправке сообщения ActiveMQ с Camel
- 18. Получение предыдущего сообщения в пути Apache Camel
- 19. Camel AggregationStrategy продуцирующие NULL работоспособных сообщения
- 20. Camel-Netty4 Неподдерживаемый тип сообщения Ошибка InputStreamCache
- 21. Извлечение тела из сообщения ActiveMQ через Camel
- 22. Образец интеграции мультиплексора сообщения Apache Camel
- 23. Apache Camel отправляет сообщения ActiveMQ в ActiveMQ.DLQ
- 24. Получение разделенного сообщения от Apache Camel split
- 25. Обработка Apache Camel с подстрокой сообщения
- 26. Camel ProducerTemplate отправить свойство сообщения JMS
- 27. Apache Camel - Dead Letter Channel - обогащение сообщения
- 28. Spring Integration Inflight Request Object по объектам
- 29. Camel не обрабатывает сообщения, параллельные для одного пользователя
- 30. сообщения от Camel XMPP не прибывающим в Pidgin через Openfire
У меня есть набор тайм-аутов. Проблема в том, что мои потребители не перестают потреблять, пока маршрут закрывается. Это предотвращает изящное завершение работы. – user3487839
Можете ли вы разместить свой код здесь? Также, чтобы подтвердить, что вы говорите, это то, что, когда вы останавливаете своего потребителя верблюда, который активно потребляет из очереди, он не останавливается, пока все сообщения не будут потреблены из очереди? – nerdyoutdoorsman