The queue uses a queue store adapter to handle its communications with the
storage device. Adapters are interfaces between WebSphere MQ Everyplace
and hardware devices, such as disks or networks, or software, such as
databases. Adapters are 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:
- adapterClass:adapterParameters or
- adapterAlias:adapterParameters
For example assuming MsgLog is defined as a WebSphere MQ
Everyplace alias:
MsgLog:d:\QueueManager\ServerQM12\Queues
A number of storage adapters are provided and include:
- MQeDiskFieldsAdapter to store messages on a file system
- MQeMemoryFieldsAdapter to store messages in memory
- Other storage adapters can be found in package
com.ibm.mqe.adapters
The choice of adapter determines the persistence and resilience of
messages. For example, if a memory adapter is used, the messages are
only as resilient as the memory. Memory may be a much faster medium
than disk, but is highly volatile in comparison.
If a message store is not defined when creating a queue, the default is to
use the message store specified on creation of the queue manager.
- Note:
- Under the C codebase, there is only one supplied message store, and one
adapter, therefore the format of the queue store is fixed the
MsgLog is left as a placeholder for future expansion.
Examples of where to use this option are:
- When you want to use the MemoryFieldsAdapter, to store data in
memory and not on disk
- Alternative Message Stores are provided, such as the
ShortFilename message store for 4690
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 on UNIX(R) systems use '/' as a file
separator. In some cases it may be possible to use either but this is
dependent on the support provided by the JVM (Java Virtual Machine) that the
queue manager runs in. As well as file separator differences, some
systems use drive letters like Windows NT whereas others like 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.
© IBM Corporation 2002. All Rights Reserved