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. If the JMSTimeToLive property is specified in
the service endpoint URL or the JMS Address, then this value is used for one-way
messages. The client never waits for a response to a one-way operation and
so it never times out. The only time a client for a one-way operation will
fail is 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.