Apache ActiveMQ 5.3 - 如何配置队列以拒绝重复的消息?

时间:2009-12-08 17:01:24

标签: activemq

我需要队列来强制执行不重复的策略。可能吗?如果是这样,怎么样? (我一直在谷歌搜索几个小时......)

编辑:

ActiveMQSession实现有以下几行:

        // transform to our own message format here
            ActiveMQMessage msg = ActiveMQMessageTransformation.transformMessage(message, connection);

        // Set the message id.
        if (msg == message) {
            msg.setMessageId(new MessageId(producer.getProducerInfo().getProducerId(), sequenceNumber));
        } else {
            msg.setMessageId(new MessageId(producer.getProducerInfo().getProducerId(), sequenceNumber));
            message.setJMSMessageID(msg.getMessageId().toString());
        }

ActiveMQMessageTransformation是可插入的(您可以设置它),但是以下if语句是一个相当无可争议的。

任何想法,除了更改他们的代码?

1 个答案:

答案 0 :(得分:1)

ActiveMQ内置了重复的邮件检测 - 您如何定义重复?如果副本具有相同的messageId - 它应该被丢弃