6.6.1. Running the Publish/Subscribe Examples
The example programs discussed in this section are found in /usr/share/doc/rhm-0.2/java/. Copy this directory to a location where you have write privileges. To run these programs, do the following:
Make sure that a qpidd broker is running:
$ ps -eaf | grep qpidd
If a broker is running, you should see the qpidd process in the output of the above command. If no broker is running, see the instructions in Chapter 3, Installing MRG Messaging.
In the java directory, use runSample.sh to run the Listener program:
$ ./runSample.sh org.apache.qpid.example.jmsexample.pubsub.Listener Using QPID_HOME: /usr/share/java/ Using QPID_SAMPLE: /usr/share/doc/rhm-0.2 Listener: Setting an ExceptionListener on the connection as sample uses a TopicSubscriber Listener: Creating a non-transacted, auto-acknowledged session Listener: Creating a Message Subscriber for topic usa Listener: Creating a Message Subscriber for topic europe Listener: Creating a Message Subscriber for topic news Listener: Creating a Message Subscriber for topic weather Listener: Starting connection so TopicSubscriber can receive messages
In a separate window, use runSample.sh to run the Publisher program:
$ ./runSample.sh org.apache.qpid.example.jmsexample.pubsub.Publisher Using QPID_HOME: /usr/share/java/ Using QPID_SAMPLE: /usr/share/doc/rhm-0.2 Publisher: Creating a non-transacted, auto-acknowledged session Publisher: Creating a TestMessage to send to the topics Publisher: Creating a Message Publisher for topic usa.weather Publisher: Sending message 1 Publisher: Sending message 2 Publisher: Sending message 3 Publisher: Sending message 4 Publisher: Sending message 5 Publisher: Sending message 6 Publisher: Creating a Message Publisher for topic usa.news Publisher: Sending message 1 Publisher: Sending message 2 Publisher: Sending message 3 Publisher: Sending message 4 Publisher: Sending message 5 Publisher: Sending message 6 Publisher: Creating a Message Publisher for topic europe.weather Publisher: Sending message 1 Publisher: Sending message 2 Publisher: Sending message 3 Publisher: Sending message 4 Publisher: Sending message 5 Publisher: Sending message 6 Publisher: Creating a Message Publisher for topic europe.news Publisher: Sending message 1 Publisher: Sending message 2 Publisher: Sending message 3 Publisher: Sending message 4 Publisher: Sending message 5 Publisher: Sending message 6 Publisher: Closing connection Publisher: Closing JNDI context
Now go back to the window where the Listener program is running. You should see output like this:
Listener: Received message for topic: usa: message 1 Listener: Received message for topic: weather: message 1 Listener: Received message for topic: usa: message 2 Listener: Received message for topic: weather: message 2 Listener: Received message for topic: usa: message 3 Listener: Received message for topic: weather: message 3 Listener: Received message for topic: usa: message 4 Listener: Received message for topic: weather: message 4 Listener: Received message for topic: usa: message 5 Listener: Received message for topic: weather: message 5 Listener: Received message for topic: usa: message 6 Listener: Received message for topic: weather: message 6 . . . Listener: Shutting down listener for news Listener: Shutting down listener for weather Listener: Shutting down listener for usa Listener: Shutting down listener for europe Listener: Closing connection Listener: Closing JNDI context