1 16 package org.outerj.daisy.eventdumper; 17 18 import org.apache.xmlbeans.XmlObject; 19 20 import javax.jms.*; 21 import javax.naming.Context ; 22 import javax.naming.InitialContext ; 23 import java.util.Hashtable ; 24 import java.io.StringReader ; 25 26 29 public class EventDumper { 30 public static void main(String [] args) throws Exception { 31 new EventDumper().run(); 32 } 33 34 public void run() throws Exception { 35 String jmsUserName = "admin"; 36 String jmsPassword = "jmsadmin"; 37 38 Hashtable environment = new Hashtable (); 39 environment.put("java.naming.factory.initial", "org.apache.activemq.jndi.ActiveMQInitialContextFactory"); 40 environment.put("java.naming.provider.url", "tcp://localhost:61616"); 41 Context context = new InitialContext (environment); 42 43 TopicConnectionFactory jmsFactory = (TopicConnectionFactory) context.lookup("ConnectionFactory"); 44 Topic jmsTopic = (Topic) context.lookup("dynamicTopics/daisy"); 45 46 TopicConnection jmsConnection = jmsFactory.createTopicConnection(jmsUserName, jmsPassword); 47 48 TopicSession jmsSession = jmsConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE); 49 TopicSubscriber jmsSubscriber = jmsSession.createSubscriber(jmsTopic); 50 jmsSubscriber.setMessageListener(new EventListener()); 51 52 jmsConnection.start(); 53 54 System.out.println("Started"); 55 56 } 57 58 class EventListener implements MessageListener { 59 public void onMessage(Message aMessage) { 60 try { 61 TextMessage message = (TextMessage)aMessage; 62 String messageType = message.getStringProperty("type"); 63 System.out.println("================================= New Message ===================================="); 64 System.out.println("Received message of type: " + messageType); 65 System.out.println("--------------------------------- Message Body -----------------------------------"); 66 XmlObject xml = XmlObject.Factory.parse(new StringReader (message.getText())); 68 System.out.println(xml); 69 } catch (Exception e) { 70 System.out.println("Exception processing message: " + e.toString()); 71 e.printStackTrace(); 72 } 73 } 74 } 75 } 76 | Popular Tags |