You can program asynchronous message delivery using the MessageListener class. The application registers a callback handler to receive messages asynchronously.
// Obtain a ConnectionFactory via lookup or direct instantiation ConnectionFactory factory = (ConnectionFactory)jndiContext.lookup("uJMSConnectionFactory"); // Create a connection - assuming no username/password required for UM Connection connection = factory.createConnection(); // Create a Session Session session = connection.createSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE); // set the exception listener callback connection.setExceptionListener(this); // Create a topic destination Destination destination = session.createTopic("TOPIC.1"); // create the consumer MessageConsumer msgConsumer = session.createConsumer(destination); // set the message listener callback msgConsumer.setMessageListener(this); // start the connection connection.start(); // The exception listener public void onException(JMSException e) { // print the connection exception status System.err.println("Exception occurred: "+ e.getMessage()); } // The message listener callback public void onMessage(Message msg) { try { System.err.println("Received message: " + msg); } catch(Exception e) { System.err.println("Exception occurred: "+ e.getMessage()); System.exit(-1); } }
Copyright (c) 2004 - 2014 Informatica Corporation. All rights reserved.