OpenJMS пересылает и задерживает сообщения - PullRequest
1 голос
/ 14 марта 2020

У меня есть потребитель очереди JMS. Во время потребления может возникнуть исключение, и мне нужно снова запустить процесс. У меня есть два предварительных плана:

  1. Установить подтверждение на javax.jms.Session.CLIENT_ACKNOWLEDGE. javax.jms.Message#acknowledge() вызывается для удаления сообщения при успешной обработке, а javax.jms.Session#recover() вызывается, чтобы сообщить OpenMQ о повторной доставке сообщения при сбое обработки. Но я не смог найти способ установить максимальное количество доставок и временной интервал между доставками.

  2. Установить подтверждение на javax.jms.Session.AUTO_ACKNOWLEDGE. Отправляйте новое сообщение (содержащее исходное сообщение и время обработки) в новую очередь каждый раз, когда возникает исключение, и я хочу иметь возможность установить время задержки. Однако я не могу найти способ установить время задержки сообщения.

...