Kbase 19668: SonicMQ: How a Unique Message ID is Generated
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  21/08/2003 |
|
Status: Technically Reviewed
GOAL:
How a unique message ID is generated.
FACT(s) (Environment):
SonicMQ 2000(x)
FACT(s) (Environment):
SonicMQ 3.x
FACT(s) (Environment):
SonicMQ 4.x
FIX:
The Java Message Service (JMS) message header field JMSMessageID is an
optional field of type String that is a unique identifier for a
message. Its value is set by the JMS provider (message broker) via the
method Message.setJMSMessageID(String id).
In SonicMQ, the value of the JMSMessageID is composed of these
components that, when concatenated, uniquely identify a message:
1) The prefix "ID:" as per the JMS specification
2) The broker ID which is the broker name from the broker.ini file
3) A 48-bit connection ID that changes with each 65,536 messages
sent in this connection
4) A 16-bit local ID that is locally generated in sequence for this
connection
5) The timestamp, calculated based on the creation of the message at
the client,which never repeats for a client.
Component five identifies the message uniquely at the client. The
combination of components three, four, and five identify a message
uniquely within a broker. The combination of components two, three,
four, and five identify a message uniquely across brokers.