IBM MQ, как автоматически повторно обработать сообщение, если оно не использовано?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 IBM MQ, как автоматически повторно обработать сообщение, если оно не использовано?

Сообщение Anonymous »

У меня есть необходимость реализовать синхронизированное чтение IBM MQ.
У меня есть клиентское приложение, которое читает из очереди, и в некоторых случаях я хочу избежать отката транзакции. , записывая сообщение в новую очередь вместо очереди недоставленных писем. Затем я хочу повторно обработать сообщение через 5 минут и повторить процесс в случае ошибки.
Теперь я читаю с помощью прослушивателя Jms

Код: Выделить всё

 @JmsListener(destination = "${QueueName}")
public void readMessages(TextMessage msg) { ...
но если сообщение не будет использовано, я хотел бы переписать его в очередь и подождать 5 минут, прежде чем прочитать снова.
Как лучше всего реализовать синхронизированное чтение в в этом случае?
Заранее всем спасибо!
ОБНОВЛЕНИЕ
В IBM MQ версии 8+ есть функция «Задержка доставки», которая решает мою проблему.
Перед вызовом

JmsTemplate. send(...)

достаточно установить это значение

jmsTemplate.setDeliveryDelay(delay);

Удачи!

Подробнее здесь: https://stackoverflow.com/questions/701 ... t-consumed
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»