Interstage Application Server J2EE ユーザーズガイド |
目次 索引 |
第5部 JMS編 | > 第21章 JMSアプリケーションの開発 | > 21.2 作成方法 | > 21.2.3 Message Listener |
受信したメッセージを処理するために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アプリケーションクライアント”を参照してください。
目次 索引 |