Предотвращение дублирования сообщений в JMS / ActiveMQ

Есть ли способ подавить дублирование сообщений в очереди, определенной на сервере ActiveMQ?

Я пытался определить вручную JMSMessageID, (message.setJMSMessageID ("uniqueid")), но сервер игнорирует эту модификацию и доставляет сообщение со встроенным сгенерированным JMSMessageID.

По спецификации я этого не делал. t нашел ссылку о том, как дедуплицировать сообщения.

В HornetQ, чтобы справиться с этой проблемой, нам нужно объявить специфическое свойство HQ org.hornetq.core.message.impl.HDR_DUPLICATE_DETECTION_ID в определении сообщения.

то есть:

Message jmsMessage = session.createMessage();
String myUniqueID = "This is my unique id"; // Could use a UUID for this
message.setStringProperty(HDR_DUPLICATE_DETECTION_ID.toString(), myUniqueID);

Кто-нибудь знает, есть ли подобное решение для ActiveMQ?

20
задан gstackoverflow 3 July 2019 в 07:22
поделиться