The range of permitted values for the TimeToLive property
of a JMS message that WSIF puts onto a queue.
The JMS message header property JMSTimeToLive is
of type long. It sets the time to live of a message
put onto a queue, in milliseconds. A value of 0 means
live indefinitely.
The factors that determine the time to live of a JMS message are
as follows:
- For a one-way (input only) operation, the default time to live
is 0, so the message remains on the queue indefinitely
or until the server end-processes the message. The JMSTimeToLive value,
if specified in the service endpoint URL or the JMS Address, is used
for one-way messages. The client never waits for a response to a
one-way operation and so it never times out. During a one-way operation,
the client fails only if the queue itself is unavailable.
- For a two-way (request and response) operation, the default time
to live is determined by the client response timeout setting. The
time to live for the message is never greater than the client response
timeout, even if a larger value is specified in the JMSTimeToLive property
of the service endpoint URL or the JMS Address, so the message will
never be read from the queue after the client has timed out waiting
for a response. The client response timeout setting that is used as
the default time to live is the WSIF synchronous timeout. This is
the case even for an asynchronous JMS message.
newfeatWhen Fix Pack 13 is installed , if the JMSTimeToLive value
is specified in the service endpoint URL or the JMS Address, it is
used for two-way (request and response) messages. When the time to
live is not specified, the default value is determined by the client
response timeout setting.