6.6.1. Running the Publish/Subscribe Examples

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:

  1. 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.

  2. 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
    
  3. 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
    
  4. 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