title: ACTIVEMQ- publisher subscriber hello world example
body: <p>There are two programs: subscriber and publisher...
  Subscriber is able to put the message onto the topic and the message is sent successfully.
  When I check the activemq server on my browser it shows 1 msg enqueued . But when I run the consumer code, it is not receiving the message</p>
  
  <p>Here is the producer code:</p>
  
  <pre><code>import javax.jms.*;
  
  import org.apache.activemq.ActiveMQConnection;
  import org.apache.activemq.ActiveMQConnectionFactory;
  
  public class producer {
  
      private static String url = ActiveMQConnection.DEFAULT_BROKER_URL;
  
      public static void main(String[] args) throws JMSException {
  
          ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);
          Connection connection = connectionFactory.createConnection();
          connection.start();
  
          // JMS messages are sent and received using a Session. We will
          // create here a non-transactional session object. If you want
          // to use transactions you should set the first parameter to 'true'
          Session session = connection.createSession(false,
                  Session.AUTO_ACKNOWLEDGE);
  
          Topic topic = session.createTopic("testt");
  
          MessageProducer producer = session.createProducer(topic);
  
          // We will send a small text message saying 'Hello'
  
          TextMessage message = session.createTextMessage();
  
          message.setText("HELLO JMS WORLD");
          // Here we are sending the message!
          producer.send(message);
          System.out.println("Sent message '" + message.getText() + "'");
  
          connection.close();
      }
  }
  </code></pre>
  
  <p>After I run this code the output at the console is:</p>
  
  <pre><code>26 Jan, 2012 2:30:04 PM org.apache.activemq.transport.failover.FailoverTransport doReconnect
  INFO: Successfully connected to tcp://localhost:61616
  Sent message 'HELLO JMS WORLD'
  </code></pre>
  
  <p>And here is the consumer code:</p>
  
  <pre><code>import javax.jms.*;
  
  import org.apache.activemq.ActiveMQConnection;
  import org.apache.activemq.ActiveMQConnectionFactory;
  
  public class consumer {
      // URL of the JMS server
      private static String url = ActiveMQConnection.DEFAULT_BROKER_URL;
  
      // Name of the topic from which we will receive messages from = " testt"
  
      public static void main(String[] args) throws JMSException {
          // Getting JMS connection from the server
  
          ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);
          Connection connection = connectionFactory.createConnection();
          connection.start();
  
          Session session = connection.createSession(false,
                  Session.AUTO_ACKNOWLEDGE);
  
          Topic topic = session.createTopic("testt");
  
          MessageConsumer consumer = session.createConsumer(topic);
  
          MessageListener listner = new MessageListener() {
              public void onMessage(Message message) {
                  try {
                      if (message instanceof TextMessage) {
                          TextMessage textMessage = (TextMessage) message;
                          System.out.println("Received message"
                                  + textMessage.getText() + "'");
                      }
                  } catch (JMSException e) {
                      System.out.println("Caught:" + e);
                      e.printStackTrace();
                  }
              }
          };
  
          consumer.setMessageListener(listner);
          connection.close();
  
      }
  }    
  </code></pre>
  
  <p>After I run this code it doesnt show anything.
  Can someone help to me to overcome this problem?</p>