# expiration

If an `expiration` property is set for a destination, the server honors the overridden expiration period and retains the message for the length of time specified by the expiration property.

However, the server overrides the `JMSExpiration` value set by the producer in the message header with the value 0 and therefore the consuming client does not expire the message.

You can set the `expiration` property for any queue and any topic using the form:

       expiration=time[msec|sec|min|hour|day]

where time is the number of seconds. Zero is a special value that indicates messages to the destination never expire.

You can optionally include time units, such as msec, sec, min, hour or day to describe the time value as being in milliseconds, seconds, minutes, hours, or days, respectively. For example:

       expiration=10min

means 10 minutes.

When a message expires it is either destroyed or, if the `JMS_TIBCO_PRESERVE_UNDELIVERED` property on the message is set to true, the message is placed on the undelivered queue so it can be handled by a special consumer. See Undelivered Message Queue for details.

All machines running EMS servers must be synchronized using NTP. Machines running EMS clients do not need to synchronized. For information about how non-synchronized client machines are handled, refer to the `clock_sync_interval` parameter.

Copyright © Cloud Software Group, Inc. All rights reserved.