Name
JMSTimestamp — Purpose: Identification
Synopsis
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, depending on
the JMS provider and configuration of the message producer: whether
it’s a transacted session, the acknowledgement mode, 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 later in this chapter 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, ...
Get Java Message Service now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.