Name
JMSTimestamp — Purpose: Identification
The JMSTimestamp is set
automatically by the message producer when the send operation is
invoked. The value of the JMSTimestamp is the
approximate time that the send operation was
invoked. Sometimes messages are not transmitted to the message server
immediately. A message can be delayed for many reasons, including how
the message producer is configured, whether it’s a transacted session,
the acknowledgment mode used, etc. When the send() operation returns, the message object
will have its timestamp:
Message message = topicSession.createMessage(); topicPublisher.publish(message); long time = message.getJMSTimestamp();
The timestamp is set automatically, thus any value set
explicitly by the JMS client will be ignored and discarded when the
send() operation is invoked. The
value of the timestamp is the amount of time, measured in
milliseconds, that has elapsed since midnight, January 1, 1970, UTC
(see UTC for more information).
Timestamps can be used by message consumers as indicators of the approximate time that the message was delivered by the message producer. The timestamp can be useful when ordering messages or for historical repositories.
The JMSTimestamp is set
during the send operation and may be calculated locally by the
producer (TopicPublisher or
QueueSender) on the client or it may be obtained from the message server. In the first case, when the producer calculates the timestamp, the timestamps can vary from JMS client to client. This ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access