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

第5部 JMS編> 第21章 JMSアプリケーションの開発> 21.2 作成方法> 21.2.8 グローバルトランザクション

21.2.8.2 グローバルトランザクションを使用したSubscriberの作成

[グローバルトランザクションのSubscriber]

public class SubscriberS {
  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 */
          javax.transaction.UserTransaction ut = 
              (javax.transaction.UserTransaction)initialContext.lookup("java:comp/UserTransaction");  /* 4 */
          TopicConnection topicConnection = topicConnectionFactory.createTopicConnection();           /* 5 */
          TopicSession topicSession = topicConnection.createTopicSession(true , 0);                   /* 6 */
          TopicSubscriber topicSubscriber = topicSession.createSubscriber(topic);                     /* 7 */
          topicConnection.start();                                                                    /* 8 */
          ut.begin();                                                                                 /* 9 */
          Message message = topicSubscriber.receive();                                                /* 10 */
          ut.commit();                                                                                /* 11 */
          topicConnection.close();                                                                    /* 12 */
      } catch( Exception e ) {
          ...
      }
      ...
  }
}

 1. JNDIの開始コンテキストを構築する。
 2. TopicConnectionFactoryオブジェクトを取得する。(JNDI名が“TopicConnectionFactory”の場合)
 3. Topic オブジェクトを取得する。(JNDI名が“Topic”の場合)
 4. ユーザトランザクションオブジェクトを取得する。
 5. TopicConnectionを作成する。
 6. TopicSessionを作成する。
 7. TopicSubscriberを作成する。
 8. 接続によるメッセージの配信を開始する。
 9. グローバルトランザクションを開始します。
 10. メッセージを受信する。
 11. グローバルトランザクションを完了します。
 12. TopicConnectionをクローズする。


 JNDIの開始コンテキスト構築時の環境プロパティの指定については、“J2EEアプリケーションクライアント”を参照してください。
 Durable Subscription機能を使用する場合、グローバルトランザクションの開始(begin)からグローバルトランザクションの完了(commit)の間に、durable Subscriberの解除(unsubscribe)は記述できません。


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

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