Interstage Application Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第5部 JMS編> 第21章 JMSアプリケーションの開発> 21.2 作成方法> 21.2.3 Message Listener

21.2.3.1 Message Listenerを使用したSubscriberの作成

 受信したメッセージを処理するためにMessageListenerオブジェクトを登録します。メッセージが到達するとMessage Listenerが呼出されます。Message Listenerを使用してメッセージを受信する手続き例と処理の流れを以下に説明します。

[Message Listenerを使用したSubscriber]

public class SubscriberA implements MessageListener {                                        /* 1 */
  public static void main() {
      ...
      SubscriberA subscriber = new SubscriberA();                                            /* 2 */
      ...
      try {
          InitialContext initialContext = new InitialContext();                              /* 3 */
          TopicConnectionFactory topicConnectionFactory = (TopicConnectionFactory)
              initialContext.lookup("java:comp/env/jms/TopicConnectionFactory");             /* 4 */
          Topic topic = (Topic)initialContext.lookup("java:comp/env/jms/Topic");             /* 5 */
          TopicConnection topicConnection = topicConnectionFactory.createTopicConnection();  /* 6 */
          TopicSession topicSession = 
              topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);           /* 7 */
          TopicSubscriber topicSubscriber = topicSession.createSubscriber(topic);            /* 8 */
          topicSubscriber.setMessageListener(subscriber);                                    /* 9 */
          topicConnection.start();                                                           /* 10 */
          待ち合わせ処理
          topicConnection.close();                                                           /* 11 */
      } catch( Exception e ) {
          ...
      }
      ...
  }

  public void onMessage(Message message) {
      ...
      try {
      } catch( JMSException e ) {
          ...
      }
      ...
  }
}

 1. MessageListenerインタフェースを実装する。
 2. クラスのインスタンスを生成する。
 3. JNDIの開始コンテキストを構築する。
 4. TopicConnectionFactoryオブジェクトを取得する。(JNDI名が“TopicConnectionFactory”の場合)
 5. Topic オブジェクトを取得する。(JNDI名が“Topic”の場合)
 6. TopicConnectionを作成する。
 7. TopicSessionを作成する。
 8. TopicSubscriberを作成する。
 9. MessageListenerオブジェクトを登録する。
 10. 接続によるメッセージの配信を開始する。
 11. TopicConnectionをクローズする。


 JNDIの開始コンテキスト構築時の環境プロパティの指定については、“J2EEアプリケーションクライアント”を参照してください。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005