Interstage Application Server J2EE ユーザーズガイド |
目次 索引 |
第5部 JMS編 | > 第21章 JMSアプリケーションの開発 | > 21.2 作成方法 | > 21.2.4 Durable Subscription機能 |
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を解除してください。
目次 索引 |