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

第5部 JMS編> 第21章 JMSアプリケーションの開発> 21.2 作成方法> 21.2.4 Durable Subscription機能

21.2.4.1 Durable Subscription機能を使用したSubscriberの作成

 durable Subscriberを作成します。durable Subscriberはイベントチャネルにメッセージを要求します。Durable Subscription機能を使用してメッセージを受信する手続き例と処理の流れを以下に説明します。

[Durable Subscription機能を使用したSubscriber]

public class SubscriberD {
  public static void main() {
      ...
      try {
          InitialContext initialContext = new InitialContext();                                   /* 1 */
          TopicConnectionFactory topicConnectionFactory = (TopicConnectionFactory)
              initialContext.lookup("java:comp/env/jms/TopicConnectionFactory");                  /* 2 */
          Topic topic = (Topic)initialContext.lookup("java:comp/env/jms/Topic");                  /* 3 */
          TopicConnection topicConnection = topicConnectionFactory.createTopicConnection();       /* 4 */
          TopicSession topicSession = 
              topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);                /* 5 */
          TopicSubscriber topicSubscriber = topicSession.createDurableSubscriber(topic, "dsub");  /* 6 */
          topicConnection.start();                                                                /* 7 */
          Message message = topicSubscriber.receive();                                            /* 8 */
          topicSubscriber.close();                                                                /* 9 */
          topicSession.unsubscribe("dsub");                                                       /* 10 */
          topicConnection.close();                                                                /* 11 */
      } catch( Exception e ) {
          ...
      }
      ...
  }
}

 1. JNDIの開始コンテキストを構築する。
 2. TopicConnectionFactoryオブジェクトを取得する。(JNDI名が“TopicConnectionFactory”の場合)
 3. Topic オブジェクトを取得する。(JNDI名が“Topic”の場合)
 4. TopicConnectionを作成する。
 5. TopicSessionを作成する。
 6. Durable TopicSubscriberを作成する。(Durable Subscription名が“dsub”の場合)
 7. 接続によるメッセージの配信を開始する。
 8. メッセージを受信する。
 9. Durable TopicSubscriberをクローズする。
 10. Durable TopicSubscriberを解除する。(アプリケーション中断中に送信されたメッセージをアプリケーション再起動後に受信しない場合)
 11. TopicConnectionをクローズする。


 JNDIの開始コンテキスト構築時の環境プロパティの指定については、“J2EEアプリケーションクライアント”を参照してください。
 Durable TopicSubscriberを解除すると、JMSプロバイダがアプリケーションに代わって持続している接続状態が削除されるため、アプリケーション中断中に送信されたメッセージをアプリケーション再起動後に受信することはできません。Durable Subscription機能が必要なくなった場合にのみDurable TopicSubscriberを解除してください。


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

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