У меня есть JMS-клиент, который может получать ssh к удаленным системам после получения сообщения (и делать там разные вещи - не относящиеся к вопросу).Возможно, что за короткое время поступят сотни таких сообщений, которые необходимо обработать как можно скорее.
Однако возможно также, что некоторые удаленные системы будут недоступны при получении сообщения, поэтому ониследует отложить на потом (например, 1 час или около того).Лучшим решением было бы поместить сообщение обратно в очередь с некоторым набором значений задержки, что сообщит JMS-брокеру не пытаться доставить сообщение снова в течение часа.
Что не в порядке:спать в получающей ветке и просыпаюсь через час.Поскольку пул потребителя сообщений ограничен (например, доступно 8 подключений), поскольку 8 недоступных систем блокируют всю обработку без необходимости, что недопустимо.
Я не нашел настройки ни для сообщения, ни длясама очередь для такого значения "задержки", она существует?
Обходное решение - использовать вторую очередь для хранения сообщений в недоступных системах и обрабатывать их отдельно.Но это не очень элегантное решение и требует дополнительного программирования.Возможно, есть лучший способ.