| Interstage Application Server J2EE ユーザーズガイド |
目次
索引
![]()
|
| 第5部 JMS編 | > 第22章 JMSアプリケーションの開発 | > 22.2 作成方法 | > 22.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を解除してください。
目次
索引
![]()
|