ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド

24.2.2 MessageConsumerの作成

MessageConsumerは、イベントチャネルにメッセージを要求します。
MessageConsumerがイベントチャネルにメッセージを要求する手続き例と処理の流れを以下に説明します。


[MessageConsumer]

import javax.jms.*;
import javax.naming.*;

public class Consumer {
  public static void main( String[] args) {
    Connection connection = null;
    ...
    try {
        java.util.Hashtable env = new java.util.Hashtable( );
        env.put ( javax.naming.Context.INITIAL_CONTEXT_FACTORY ,
            "com.fujitsu.interstage.j2ee.jndi.InitialContextFactoryForClient" );
        InitialContext initialContext = new InitialContext(env);                     /* 1 */
        ConnectionFactory connectionFactory = (ConnectionFactory)
            initialContext.lookup("java:comp/env/jms/ConnectionFactory");            /* 2 */
        Destination destination = (Destination)
            initialContext.lookup("java:comp/env/jms/Destination");                  /* 3 */
        connection = connectionFactory.createConnection();                           /* 4 */
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); /* 5 */
        MessageConsumer messageConsumer = session.createConsumer(destination);       /* 6 */
        connection.start();                                                          /* 7 */
        Message message = messageConsumer.receive();                                 /* 8 */
    } catch( Exception e ) {
        ...
    }
    finally {
        if( null != connection ) {
            try {
                connection.close();                                                  /* 9 */
            }
            catch( Exception e ) {
                ...
            }
        }
    }
  }
}

  1. JNDIの開始コンテキストを構築します。

  2. ConnectionFactoryオブジェクトを取得します(JNDI名が“ConnectionFactory”の場合)。

  3. Destinationオブジェクトを取得します(JNDI名が“Destination”の場合)。

  4. Connectionを作成します。

  5. Sessionを作成します。

  6. MessageConsumerを作成します。

  7. 接続によるメッセージの配信を開始します。

  8. メッセージを受信します。

  9. Connectionをクローズします。


注意

JNDIの開始コンテキスト構築時の環境プロパティの指定については、“J2EEアプリケーションクライアント”を参照してください。