2016-11-23 71 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'組成 –