A JMS topic is based on the publish/subscribe (pub/sub) messaging model, which enables an application to send a message to multiple applications. Pub/sub messaging applications send and receive messages by subscribing to a topic. A topic publisher (producer) sends messages to a specific topic. A topic subscriber (consumer) retrieves messages from a specific topic.
You configure topics explicitly or by configuring a JMS template that can be used to define multiple topics 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. The error destination must be targeted to same JMS server as the other topics in the module. See Managing Rolled Back, Recovered, Redelivered, or Expired Messages.
Some topic options are dynamically configurable. When options are modified at runtime, only incoming messages are affected; stored messages are not affected.
After creating a basic topic, you can define a number of optional properties:
Configuring optional General topic properties includes selecting a destination key for sorting messages as they arrive on the topic, or selecting a JMS template if you are using one to configure properties for multiple topics.
Configuring optional Advanced topic 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 topic, select a pre-configured quota specifying the maximum number of bytes or messages that the topic is allowed to store, or specify a maximum size allowed for messages on the topic.
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.
Define multicast parameters that enable the delivery of messages to a select group of hosts that subsequently forward the messages to subscribers.