Evitando mensagens duplicadas no JMS / ActiveMQ

Existe uma maneira de suprimir mensagens duplicadas em uma fila definida no servidor ActiveMQ?

Tentei definir manualmente o JMSMessageID, (message.setJMSMessageID ("uniqueid")), mas o servidor ignora essa modificação e envia uma mensagem com o JMSMessageID gerado interno.

Por especificação, não encontrei uma referência sobre como deduplicar mensagens.

No HornetQ, para lidar com esse problema, precisamos declarar a propriedade específica HQ org.hornetq.core.message.impl.HDR_DUPLICATE_DETECTION_ID na definição da mensagem.

ou seja:

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);

Alguém sabe se existe uma solução semelhante para o ActiveMQ?

questionAnswers(5)

yourAnswerToTheQuestion