Queues are typically used to hold messages pending their removal by application programs. Each queue belongs to a queue manager. Applications are not normally permitted to directly access a queue. Instead, the queue manager acts as an intermediary between application programs and queues.
{ } [ ] # ( ) : ; , ' " =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:
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 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.
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.
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.
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.
MQe has four commonly used system queues:
Parent topic: How MQe works