A JMS queue is based on the point-to-point (PTP) messaging model, which enables one application to send a message to another. PTP messaging applications send and receive messages using named queues. A queue sender (producer) sends a message to a specific queue. A queue receiver (consumer) receives messages from a specific queue.
You configure queues explicitly or by configuring a JMS template that can be used to define multiple queues with similar option settings, as described in Configure JMS templates.
Note: To help manage recovered or rolled back messages, you can also configure a target error destination for messages that have reached their redelivery limit. However, the error destination must be targeted to same JMS server as the other queues in a module. See Managing Rolled Back, Recovered, Redelivered, or Expired Messagesr.
Some queue options are dynamically configurable. When options are modified at runtime, only incoming messages are affected; stored messages are not affected.
After creating a basic queue, you can define a number of optional properties:
Configuring optional General queue properties includes selecting a destination key for sorting messages as they arrive on the queue, or selecting a JMS template if you are using one to configure properties for multiple queues.
Configuring optional Advanced queue properties includes specifying unit-of-order parameters, attaching the credentials of message senders, or defining unit-of-work parameters.
Define upper and lower byte and/or message thresholds for the queue, select a pre-configured quota specifying the maximum number of bytes or messages that the queue is allowed to store, or specify a maximum size allowed for messages on the queue.
Define message delivery override values, such as message priority and time-to-deliver values, that can override those specified by a message producer.
Enable the logging of message life cycle information into a JMS message log file. The content of the message log always includes message ID and correlation ID, but you can also configure information like message type and user properties.
Define default message delivery failure values, such as defining a message redelivery limit, selecting a message expiration policy, and specifying an error destination for expired messages.