У нас есть прослушиватель JMS, который извлекает сообщения из MQ и сохраняет их в базе данных. Мой вопрос: как лучше всего временно приостановить прослушиватель JMS, пока db не работает, и возобновить его через некоторое время.
Я думал об использовании Spring Circuit Breaker для операции db, чтобы контролировать его работоспособность и вернуться к методу обработчика ошибок. Это поможет избежать ожидания тайм-аута БД каждый раз. Тем не менее, слушатель по-прежнему извлекает сообщения и пытается их сохранить, что приводит к потере ресурсов ЦП и сети.
Есть ли способ обработать события команд автоматического выключателя, такие как: открыто / полуоткрыто / закрыто? Затем я могу написать код для остановки JMS при возникновении события открытия цепи и запуска JMS при возникновении события полуоткрытия цепи.
Или как лучше всего временно приостановить прослушиватель JMS при сбое зависимости?
Примечание. Мы используем адаптер канала Spring Integration, управляемый сообщениями, для слушателя.