The Messaging Server notification plug-in allows you to deliver notification messages to a messaging service or event service. The messaging service sends the notifications to consumers (client interfaces), which filter and deliver the messages to specified users.
For example, when new email arrives in a user's mailbox, the notification plug-in delivers a notification message to the messaging service. The message consumer, a component of the messaging service, receives the notification and sends it to the user's email client (such as Communications Express or Mozilla mail). The email client can then display a pop-up on the user's computer screen: “You have received a new message.”
Another example: if a user's mailbox exceeds its quota, the notification plug-in produces an over-quota notification message. The message consumer sends a warning to the user and to an administrator who needs to be informed of the event.
You can configure Messaging Server to deliver notifications to two different messaging services:
Sun Java System Message Queue 3.6 2005Q4
Event Notification Service
The Message Queue service implements the Java Messaging Service (JMS) specification, providing a message broker, interfaces to create clients that produce or consume messages, and administrative services and control. Message Queue follows the JMS standard for routing and delivery functions, protocols, and message formats.
The Event Notification Service is a component bundled with Messaging Server and Sun Java System Calendar Server. It is a proprietary service that uses a publish/subscribe architecture for sending and receiving event notifications.
You can configure a notification producer for Message Queue, for the Event Notification Service, or for both services.
This chapter describes how to configure notifications for Message Queue only.
For information about the Event Notification Service, see the Sun Java System Communications Suite Event Notification Service Guide.
To enable Messaging Server to produce notifications to Message Queue or the Event Notification Service, you must configure a plug-in for that service:
The JMQ notification plug-in allows you to deliver notification messages to the Message Queue broker.
The iBiff plug-in allows you to publish notification events to the Event Notification Service.
For information on how to load the iBiff plug-in and configure the Event Notification Service, see “Appendix B: Administering Event Notification Service in Messaging Server,” in the Sun Java System Messaging Server Administration Guide.
The JMQ notification plug-in, with Message Queue, provides the following benefits:
Message Queue implements the JMS standard.
With Message Queue, you can produce messages to a topic or a queue, or to both of these delivery methods. For a brief definition, see 22.1.3.1 Publishing to a Topic or a Queue.
Message Queue offers enhanced load balancing during message distribution, especially when messages are produced to a queue.
The JMQ notification plug-in allows you to configure up to five notification plug-ins. The different plug-ins can produce messages to a topic, to a queue, to the Event Notification Service, and so on. For details, see 22.1.3.2 Using Multiple JMQ Notification Plug-ins.
Message Queue provides reliable delivery of notifications.
For example, if you configure the JMQ notification plug-in to produce messages with the persistent flag enabled, the message remains in the Message Queue broker until a consumer receives it. The message is saved so that, if a server goes down, the message can be retrieved and made available to the appropriate consumer.
A topic and queue use different messaging delivery patterns; each one can be configured in a Message Queue service.
Topic. When a message producer sends a message to a topic, a publish/subscribe architecture is used. In this broadcast pattern, a producer sends a message to a topic destination. Any number of consumers can be subscribed to this topic destination. Each consumer subscribed to the topic gets its own copy of the message. If no consumers are subscribed to the topic, the message is discarded.
The Event Notification Service also uses a publish/subscribe architecture; it is similar to the topic pattern defined in Message Queue.
Queue. When a message producer sends a message to a queue, a point-to-point architecture is used. In this pattern, a producer sends a message to a queue destination from which only one consumer can receive it. If several consumers are waiting for messages from the queue, only one subscriber will receive the message. If no consumers are waiting, the message is held until either the message times out, or a consumer expresses an interest in the queue.
Producing messages to a queue allows you to spread the message load across multiple consumers.
You can configure from one to five notification plug-ins.
Messaging Server provides a plug-in library at the following default location:
/opt/SUNWmsgsr/lib/libjmqnotify
You use the configutil utility to specify parameters for a plug-in and to point the plug-in to the library of executable code.
If you specify more than one plug-in, each plug-in produces notification messages independently of the others. For example, if two plug-ins are configured with a delete-message parameter, and a message is deleted from a user's mailbox, both plug-ins will produce a notification message.
By configuring multiple plug-ins, you can take advantage of different message-distribution patterns for different purposes. For example, you could configure three different plug-ins to produce messages
To a queue (using Message Queue)
To a topic (using Message Queue)
To the Event Notification Service
For each plug-in you configure, you must define a separate set of configutil parameters.
The parameters determine two kinds of information:
The kinds of notification messages to produce. For example, enabling the LogUser parameter causes a notification message to be sent whenever a user logs in or out.
Configuration information needed by Message Queue. For example, the jmqHost parameter identifies the IP address of the host where the Message Queue broker is running.
For instructions on how to configure a plug-in, see To Configure a JMQ Notification Plug-in.