Queues are used to hold messages. Applications do not access queues directly but use the queues via the queue manager.
{ } [ ] # ( ) : ; , ' " =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. 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.
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. 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: