    Context myContext = new InitialContext();

    Topic stockTopic = (Topic) myContext.lookup("StockTopic");
    TopicConnectionFactory myFactory =
        (TopicConnectionFactory)myContext.lookup("MyProvider");
    TopicConnection myConnection = myFactory.createTopicConnection();
    TopicSession mySession =
        myConnection.createTopicSession(false,
            Session.AUTO_ACKNOWLEDGE);
    TopicSubscriber mySubscriber =
        mySession.createSubscriber(stockTopic);

    StockListener myListener;
    mySubscriber.setMessageListener(myListener);
    ...

    class StockListener implements MessageListener {
        void onMessage(Message stockQuote) {
            String stockName = stockQuote.getString("Name");
            Double stockValue = stockQuote.getString("Value");
            ...