Я пытаюсь повторно обработать сообщения из очереди недоставленных писем/сообщений (DLQ).
В приведенном ниже методе я получаю значение null, когда выполняю dlqConsumer.receive(5000) на Пайаре 5.2022.5. Там, где я использовал QueueBrowser, сообщения отображаются нормально. Что не выполняет цикл while?
public void resubmitMessages(int toResubmit) throws Exception {
log.debug("DLQService: resubmitMessages()");
InitialContext ctx = null;
QueueConnectionFactory connectionFactory;
QueueConnection queueConn = null;
try {
ctx = new InitialContext();
connectionFactory = (QueueConnectionFactory) ctx.lookup("jms/ConnectionFactory");
queueConn = connectionFactory.createQueueConnection();
QueueSession queueSession = queueConn.createQueueSession(true, QueueSession.AUTO_ACKNOWLEDGE);
assert queueSession.getTransacted();
Queue clsQueue = (Queue) ctx.lookup(CLS_NAME);
QueueSender sender = queueSession.createSender(clsQueue);
Queue dlq = (Queue) ctx.lookup("queue/mq.sys.dmq");
MessageConsumer dlqConsumer = queueSession.createConsumer(dlq);
int i = 0;
Message message;
while ((message = dlqConsumer.receive(5000)) != null && i < toResubmit) {
try {
log.debug("Processing: " + ((ObjectMessage) message).getObject());
sender.send(message);
queueSession.commit();
log.debug("resubmitted successfully to main queue from dlq");
} catch (JMSException jmse) {
log.error("Exception caught while resubmitting message to main queue", jmse);
queueSession.rollback();
throw jmse;
}
i++;
}
} catch (Exception e) {
log.error("Exception caught while sending message", e);
throw e;
} finally {
cleanUp(ctx, queueConn);
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... a-5-2022-5
Невозможно получить существующее сообщение JMS из DLQ на Payara 5.2022.5. ⇐ JAVA
Программисты JAVA общаются здесь
1731088486
Anonymous
Я пытаюсь повторно обработать сообщения из очереди недоставленных писем/сообщений (DLQ).
В приведенном ниже методе я получаю значение null, когда выполняю dlqConsumer.receive(5000) на Пайаре 5.2022.5. Там, где я использовал QueueBrowser, сообщения отображаются нормально. Что не выполняет цикл while?
public void resubmitMessages(int toResubmit) throws Exception {
log.debug("DLQService: resubmitMessages()");
InitialContext ctx = null;
QueueConnectionFactory connectionFactory;
QueueConnection queueConn = null;
try {
ctx = new InitialContext();
connectionFactory = (QueueConnectionFactory) ctx.lookup("jms/ConnectionFactory");
queueConn = connectionFactory.createQueueConnection();
QueueSession queueSession = queueConn.createQueueSession(true, QueueSession.AUTO_ACKNOWLEDGE);
assert queueSession.getTransacted();
Queue clsQueue = (Queue) ctx.lookup(CLS_NAME);
QueueSender sender = queueSession.createSender(clsQueue);
Queue dlq = (Queue) ctx.lookup("queue/mq.sys.dmq");
MessageConsumer dlqConsumer = queueSession.createConsumer(dlq);
int i = 0;
Message message;
while ((message = dlqConsumer.receive(5000)) != null && i < toResubmit) {
try {
log.debug("Processing: " + ((ObjectMessage) message).getObject());
sender.send(message);
queueSession.commit();
log.debug("resubmitted successfully to main queue from dlq");
} catch (JMSException jmse) {
log.error("Exception caught while resubmitting message to main queue", jmse);
queueSession.rollback();
throw jmse;
}
i++;
}
} catch (Exception e) {
log.error("Exception caught while sending message", e);
throw e;
} finally {
cleanUp(ctx, queueConn);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79170536/cant-get-existing-jms-message-from-dlq-on-payara-5-2022-5[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия