Message storage adapter

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:

Take the following into consideration when setting the Queue_FileDesc field:
  • Ensure that the correct syntax is used for the system that the queue resides on. For instance, on a Windows® system use "\" as a file separator, and on UNIX® systems use "/". In some cases it may be possible to use either but this is dependent upon the support provided by the JVM (Java™ Virtual Machine) that the queue manager runs in. As well as file separator differences, some systems such as Windows use drive letters, but others such as UNIX do not.
  • On some systems it is possible to specify relative directories (" .\") on others it is not. Even on those where relative directories can be specified, they should be used with great caution as the current directory can be changed during the lifetime of the JVM. Such a change causes problems when interacting with queues using relative directories.

Terms of use | WebSphere software

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