Пересчет в MDB Jms - PullRequest
       37

Пересчет в MDB Jms

0 голосов
/ 01 мая 2019

Я пишу MDB (EJB3).Все, что я хочу, это когда повторная доставка исчерпана, я могу отправить уведомление по электронной почте, прежде чем отправлять сообщение в DLQ.Как это может быть достигнуто ??(У меня нет возможности перейти к DLQ)

Я искал много сообщений в Интернете, пожалуйста, найдите свои дополнительные вопросы

  • Как отложить запуск MDB в Wildfly10?
  • Как настроить конфигурацию активации EJB3 MDB из файла свойств (не задавая их в качестве системных свойств)?

1 Ответ

0 голосов
/ 01 мая 2019

Существует свойство сообщения с именем JMSXDeliveryCount, которое указывает, сколько раз сообщение было доставлено. Раздел 3.5.11 спецификации JMS 2.0 описывает это как JMSXDeliveryCount:

Когда клиент получает сообщение, обязательное JMS-определенное сообщение для свойства JMSXDeliveryCount будет указано, сколько раз сообщение было доставлено. При первом получении сообщения будет установлен в 1, поэтому значение 2 или более означает, что сообщение было повторно доставлена.

Если установлено значение заголовка сообщения JMSRedelivered, то JMSXDeliveryCount свойство всегда должно быть 2 или больше. Смотрите раздел 3.4.7 «JMSRedelivered» для получения дополнительной информации о заголовке сообщения JMSRedelivered,

Цель свойства JMSXDeliveryCount - разрешить потребление приложения, чтобы определить, является ли конкретное сообщение повторно доставить и принять соответствующие меры.

Значение свойства JMSXDeliveryCount не гарантируется точно правильно. От провайдера JMS не ожидается значение, чтобы гарантировать, что его значение не потеряно в случае сбоя.

...