# EMS Destination Features

TIBCO Enterprise Message Service allows you to configure destinations to enhance the functionality of each messaging model.

The EMS destination features allow you to:

- Set a `secure` mode for access control at the queue or topic level, so that some destinations may require permission and others may not. See Destination Control.
- Set threshold limits for the amount of memory used by the EMS server to store messages for a topic or a queue and fine-tune the server’s response to when the threshold is exceeded. See `flowControl` and `overflowPolicy`.
- Route messages sent to destinations to other servers. See Routes.
- Create bridges between destinations of the same or different types to create a hybrid messaging model for your application. This can be useful if your application requires that you send the same message to both a topic and a queue. For more information on creating bridges between destinations and situations where this may be useful, see Destination Bridges.
- Control the flow of messages to a destination. This is useful when message producers send messages much faster than message consumers can receive them. For more information on flow control, see Flow Control.
- Exchange messages with other message services, such as TIBCO FTL, TIBCO Rendezvous, and TIBCO SmartSockets. Queues can receive messages from any of these services. Topics can either receive or send messages. See Interoperation with TIBCO FTL, Interoperation With TIBCO Rendezvous, and Interoperation with TIBCO SmartSockets.
- Set queues to be exclusive or non-exclusive. Only one receiver can receive messages from an exclusive queue. More than one receiver can receive messages from non-exclusive queues. See `exclusive`.
- Specify a redelivery policy for queues. When messages must be redelivered, you can specify a property on the queue that determines the maximum number of times a message should be redelivered. See `maxRedelivery`.
- Trace and log all messages passing through a destination. See `trace`.
- Include the user name of the message producer in the message. See `sender_name` and `sender_name_enforced`.
- Administrator operations can use wildcards in destination names. The wildcard destination name is the parent, and any names that match the wildcard destination name inherit the properties of the parent. See Wildcards.
- Use the `store` property to cause messages sent to a destination to be written to a store file. Set the destination store to `store=$sys.failsafe` to direct the server to write messages to the file synchronously and guarantee that messages are not lost under any circumstances. See `store` for more information.
- Specify that a consumer is to receive batches of messages in the background to improve performance. Alternatively, you can specify that queue receivers are to only receive one message at a time. See `prefetch` for more information.

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