2016-11-23 74 views
1

JMS消息ID看起来像这样ID:10.77.42.209-4280-1477454185311-1:1:1391:1:1。整个字符串被“ - ”和“:”分成几个部分。JMS消息ID的每个部分是什么意思?

显然,一部分代表生产者的IP地址,有些部分可能代表消息ID。但是对他人意味着什么?

所以我的问题是每个部件的含义是什么?

使用ActiveMQ的,并没有自定义消息ID

回答

3

JMSMessageID按是唯一的字符串和生成逻辑是到JMS提供者。下面

的是从specification采取JMSMessageID按定义:

甲JMSMessageID按是一个字符串值,其应该为一个唯一的密钥 功能用于在历史数据仓库识别消息。唯一性的确切范围 是提供者定义的。

如您有兴趣的ActiveMQ,它包括:

HostName + "-" + Port + "-" + System.currentTimeMillis() + "-" + sequenceNumber 

您可以参考的完整代码here用于ActiveMQ的ID生成逻辑。

+0

ActiveMQ JMS消息ID的最后三部分应由'SessionSeq:ProducerSeq:MessageSeq'组成 –