Queues

Queues are used to hold messages. Applications do not access queues directly but use the queues via the queue manager.

Queues are identified by name, and the name can be an ASCII character string of unlimited length, excluding any of the following characters:
{ } [ ] # ( ) : ; , ' " =
However, queue names must be unique within a particular queue manager. For interoperability with MQ, we recommend that you also observe MQ naming restrictions, including a maximum name length of 48 characters. The name length may also be restricted by the file system you are using. MQe supports a number of different queue types:
Local queues

Applications use local queues to store messages in a safe and secure manner (excluding hardware failure or loss of the device). Local queues belong to a specific queue manger. This can be either a standalone queue manager or a queue manager that is connected to a network.

Remote queues

Remote queues are local references to queues that reside on another queue manager in the MQe network. The local reference has the same name as the target queue, but the remote queue definition identifies the owning queue manager of the real queue. Remote queues also have properties concerned with access, security characteristics, and transmission options. Their mode of access can be either synchronous or asynchronous. Synchronous remote queues have no storage, the message is passed immediately to the remote queue manager. An asynchronous queue stores the message on local storage, a background thread is then used to send the message to the remote queue manager.

Store-and-forward queues
A store-and-forward queue stores messages on behalf of one or more queue managers until they are ready to receive them. This type of queue is not present in the C code base. Store-and-forward queues have two main uses:
  1. To enable the intermediate storage of messages in a network, so that they can proceed to their destination (a forwarding role)
  2. To hold messages awaiting collection by a Home-server queue.

This type of queue is normally (but not necessarily) defined on a server or gateway. Store-and-forward queues can hold messages for many target queue managers, or there may be one store-and-forward queue for each target queue manager.

Home-server queues

While remote queues and store-and-forward queues push messages across the network, with the sending queues initiating the transmission, home-server queues pull messages from a remote queue. Messages are never addressed to a home-server queue.

A home-server queue definition identifies a store-and-forward queue on a remote queue manager. The home-server queue then pulls messages that are destined for its local queue manager from the store-and-forward queue. Multiple home-server queue definitions can be defined on a single queue manager, where each one is associated with a different remote store-and-forward queue.

Administration queues
An administration queue is a type of local queue that accepts administration messages. An administration message contains instructions, processed internally by the application, relating to a particular element of MQe. Each administration action can, optionally, cause an administration reply message to be sent back to the originating application. These reply messages inform you of the success or failure of the administration action. In this way, using administration queues allows an element on one queue manager to control the configuration of a second queue manager, either synchronously or asynchronously. Administration messages are processed in order of arrival on the administration queue. For further information, refer to the section on Administration.
MQ bridge queues
A bridge queue is a specialist form of remote queue, describing a queue on an MQ remote queue manager. Bridge queues put or get from the MQ queue they reference. In Java™ only, it uses a transformer to perform any necessary data or message reformatting as each message is exchanged between the MQe and MQ systems. You can only create a bridge queue on a gateway queue manager.

MQe stores data securely on queues, ensuring that messages are physically written to the media and not simply stored by the operating system. However, MQe does not independently log changes to messages and queues. Therefore, to recover from media failure, you need to deploy hardware solutions, such as RAID disk systems. Alternatively, map the queue into recoverable storage, for example database subsystems. The MQe clients are on lightweight systems, but often server queue managers are required to run 24/7 where failover is required.

MQe has four commonly used system queues:

Administration queue
Receives administration messages
Dead letter queue
Stores messages that cannot otherwise be delivered
Administration reply queue
Receives replies to administration messages
SYSTEM.DEFAULT.LOCAL.QUEUE
Shares a common name with the mandatory system queue on MQ servers.

Terms of use | WebSphere software

(c) Copyright IBM Corporation 2004, 2005. All rights reserved.