The MQe queue manager allows MQe to support a variety of network configurations.
It provides:
- A central point of access to a messaging and queueing network for MQe
applications
- Optional client-side queuing
- Connection control
- Optional administration functions
- Once and once-only assured delivery of messages
- Automated recovery from failure conditions
- Customizable rules-based behavior
In MQe, you can only have one queue manager active on
a single Java™ virtual machine (JVM), or in a single native application
process at any one time. To have multiple queue managers on a machine, you
require either multiple JVM or multiple native application processes.
Queue managers are identified by a globally unique name and an ASCII character
string of unlimited length, excluding any of the following characters:
{ } [ ] # ( ) : ; , ' " =
This
restriction is not enforced by MQe or MQ, but duplicate queue manager names
may cause messages to be delivered to the wrong queue manager. For interoperability,
we recommend that you limit the maximum name length to 48 characters. The
file system that you are using may also restrict the name length.
You can configure queue managers with or without local queueing. All queue
managers support synchronous messaging operations. A queue manager with local
queueing also supports asynchronous message delivery. Asynchronous message
delivery and synchronous message delivery have very different characteristics
and consequences:
- Synchronous message delivery
- With synchronous message delivery the application puts the message to
MQe for delivery to the remote queue. MQe simultaneously contacts the target
queue and delivers the message. After delivery, MQe returns immediately to
the application. If the message cannot be delivered, the sending application
receives immediate notification. MQe does not assume responsibility for message
delivery in the synchronous case (non-assured message delivery).
- Asynchronous message delivery
- With asynchronous message delivery the application puts the message to
MQe for delivery to a remote queue. MQe immediately returns to the application.
If the message can be delivered immediately, or moved to a suitable staging
post, then it is sent. If not, it is stored locally. Asynchronous delivery
provides once, and once-only assured delivery, because the message has been
passed to MQe and it has become responsible for delivery (assured message
delivery).
See
Message delivery for more detailed information
on synchronous and asynchronous messaging.