A local queue uses a queue store adapter to handle its communications with the storage device. Adapters are interfaces between MQe and hardware devices, such as disks or networks, or software, such as databases. Adapters are designed to be pluggable components, allowing the queue store to be easily changed.
All types of queue other than those that are remote and synchronous require a message store to store their messages. Each queue can specify what type of store to use, and where it is located. The queue characteristic Queue_FileDesc is used to specify the type of message store and to provide parameters for it. The file descriptor takes the form:
For example assuming MsgLog has been defined as an MQe alias:
MsgLog:d:\QueueManager\ServerQM12\Queues
A number of storage adapters are provided and include:
The choice of adapter determines the persistence and resilience of messages. For instance if a memory adapter is used then the messages are only as resilient as the memory. Memory may be a much faster medium than disk but is highly volatile compared to disk. Hence the choice of adapter is an important one.
If a message store is not defined when creating a queue, the default is to use the message store that was specified when the queue manager was created.
Note that under the C code base, there is only one supplied message store, and one adapter, therefore the format of the QueueStore is fixed (the MsgLog is left as a placeholder for future expansion).
Examples where this option would be used are: