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.
Queues are identified by name, and the name can be an ASCII character
string of unlimited length, excluding characters:
{ } [ ] # ( ) : ; , ' " =
However, queue names must be unique within a particular queue manager.
For interoperability with WebSphere MQ, we recommend that you also observe
WebSphere 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. WebSphere MQ Everyplace 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 WebSphere MQ Everyplace 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.
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 codebase. Store-and-forward queues have two main uses:
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.
The WebSphere MQ Everyplace Application Programming Guide and the WebSphere MQ Everyplace Configuration Guide provide more information on queues.
WebSphere MQ Everyplace stores data securely on queues, ensuring that messages are physically written to the media and not simply stored by the operating system. However, WebSphere MQ Everyplace 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.
WebSphere MQ Everyplace has four commonly used system queues: