import javax.naming.*; import javax.jms.*; public class HelloWorldJmsSubscriber { public final static String JMS_FACTORY="TopicConnectionFactory"; public final static String TOPIC="MyTopic"; public static void main(String[] args) { try { TopicConnectionFactory topicConnectionFactory; TopicConnection topicConnection; TopicSession topicSession; TopicSubscriber topicSubscriber; Topic topic; TextMessage msg; // JNDI InitialContextを作成します InitialContext ctx = new InitialContext(); // Connection FactoryとTopicをLook upします topicConnectionFactory = (TopicConnectionFactory)ctx.lookup(JMS_FACTORY); topic = (Topic)ctx.lookup(TOPIC); // コネクションを作成 topicConnection = topicConnectionFactory.createTopicConnection(); // セッションを作成 topicSession = topicConnection.createTopicSession(false,Session.AUTO_ACKNOWLEDGE); // トピックサブスクライバを作成 topicSubscriber = topicSession.createSubscriber(topic); // メッセージの配送をスタート topicConnection.start(); // メッセージの受信 msg = (TextMessage) topicSubscriber.receive(); System.out.println(msg.getText()); // 接続を閉じます topicSubscriber.close(); topicSession.close(); topicConnection.close(); } catch ( Exception e ) { e.printStackTrace(); } } }