1 45 46 import java.io.BufferedReader ; 47 import java.io.IOException ; 48 import java.io.InputStreamReader ; 49 50 import javax.naming.Context ; 51 import javax.naming.InitialContext ; 52 import javax.naming.NamingException ; 53 54 import javax.jms.JMSException ; 55 import javax.jms.Destination ; 56 import javax.jms.Connection ; 57 import javax.jms.ConnectionFactory ; 58 import javax.jms.MessageConsumer ; 59 import javax.jms.Session ; 60 61 62 68 public class Listener { 69 70 75 public static void main(String [] args) { 76 Context context = null; 77 ConnectionFactory factory = null; 78 Connection connection = null; 79 String factoryName = "ConnectionFactory"; 80 String destName = null; 81 Destination dest = null; 82 Session session = null; 83 MessageConsumer receiver = null; 84 String text = "Message "; 85 BufferedReader waiter = null; 86 87 if (args.length != 1) { 88 System.out.println("usage: Listener <destination>"); 89 System.exit(1); 90 } 91 92 destName = args[0]; 93 94 try { 96 context = new InitialContext (); 97 } catch (NamingException exception) { 98 System.err.println("Failed to create initial JNDI context: " 99 + exception); 100 System.exit(1); 101 } 102 103 try { 105 factory = (ConnectionFactory ) context.lookup(factoryName); 106 } catch (NamingException exception) { 107 System.err.println("Failed to look up connection factory: " 108 + exception); 109 System.exit(1); 110 } 111 112 try { 114 dest = (Destination ) context.lookup(destName); 115 } catch (NamingException exception) { 116 System.err.println("Failed to look up destination: " + exception); 117 System.exit(1); 118 } 119 120 try { 121 connection = factory.createConnection(); 123 124 session = connection.createSession( 126 false, Session.AUTO_ACKNOWLEDGE); 127 128 receiver = session.createConsumer(dest); 130 131 receiver.setMessageListener(new SampleListener()); 133 134 connection.start(); 136 137 System.out.println("Waiting for messages..."); 138 System.out.println("Press [return] to quit"); 139 140 waiter = new BufferedReader (new InputStreamReader (System.in)); 141 waiter.readLine(); 142 } catch (JMSException exception) { 143 System.err.println("JMS exception: " + exception); 144 System.exit(1); 145 } catch (IOException exception) { 146 System.err.println("I/O exception: " + exception); 147 System.exit(1); 148 } finally { 149 if (connection != null) { 150 try { 151 connection.close(); 152 } catch (JMSException exception) { 153 System.err.println("Failed to close connection: " 154 + exception); 155 } 156 } 157 } 158 System.exit(0); 159 } 160 } 161 | Popular Tags |