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