Destination : Destination Overview

Destination Overview
Destination objects represent destinations within the EMS server—the queues and topics to which programs send messages, and from which they receive messages.
Queues deliver each message to exactly one consumer. Topics deliver each message to every subscriber. Queues and topics can be static, dynamic or temporary.
 
Static destinations let administrators configure EMS behavior at the enterprise level. Administrators define these administered objects, and client programs use them—relieving program developers and end users of the responsibility for correct configuration.
Dynamic destinations give client programs the flexibility to define destinations as needed for short-term use.
Temporary destinations are ideal for limited-scope uses, such as reply subjects.
Scope of Delivery
Static destinations support concurrent use. That is, several client processes (and in several threads within a process) can create local objects denoting the destination, and consume messages from it.
Dynamic destinations support concurrent use. That is, several client processes (and in several threads within a process) can create local objects denoting the destination, and consume messages from it.
Temporary destinations support only local use. That is, only the client connection that created a temporary destination can consume messages from it.
However, servers connected by routes do exchange messages sent to temporary topics.
Administrators create static destinations using EMS server administration tools or API.
If the server configuration permits dynamic destinations, client programs can create one in two steps:
1.
2.
Send a message to that destination, or create a consumer for it. Either of these actions automatically creates the destination in the server.
Client programs lookup static destinations by name. Successful lookup returns a local object representation of the destination; see tibemsLookupContext_Lookup on page 327.
A static destination remains in the server until an administrator explicitly deletes it.
A dynamic destination remains in the server as long as at least one client actively uses it. The server automatically deletes it (at a convenient time) when all applicable conditions are true:
Topic or Queue  all client programs that access the destination have disconnected
Topic  no offline durable subscribers exist for the topic
Queue  queue, no messages are stored in the queue
A temporary destination remains in the server either until the client that created it explicitly deletes it, or until the client disconnects from the server.