Yan*_*fan 2 java activemq-classic jms
JMS 消息 ID 如下所示ID:10.77.42.209-4280-1477454185311-1:1:1391:1:1。整个字符串被“-”和“:”分成几个部分。
显然,一部分代表生产者的IP地址,一部分可能代表消息ID。但别人有什么办法呢?
所以我的问题是每个部分的含义是什么?
使用ActiveMQ并且没有自定义消息ID
JMSMessageID 是唯一的字符串,生成逻辑由 JMS 提供者决定。
以下是取自规范的JMSMessageID 定义:
JMSMessageID 是一个字符串值,它应该充当识别历史存储库中的消息的唯一键。唯一性的确切范围由提供商定义。
由于您对 ActiveMQ 感兴趣,它包括:
HostName + "-" + Port + "-" + System.currentTimeMillis() + "-" + sequenceNumber
Run Code Online (Sandbox Code Playgroud)
您可以在此处参考 ActiveMQ Id 生成器逻辑的完整代码。