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?