前へ 目次 索引 DocHome 次へ |
iPlanet Calendar Server 5.1 イベント通知サービスマニュアル |
第 3 章 イベント通知サービス Java (JMS) API リファレンス
この章では、ENS における Java (JMS) API の実装および Java API 自体について説明します。
イベント通知サービス Java (JMS) API の実装
イベント通知サービス Java (JMS) API の実装
ENS Java API は、iPlanet Messaging Server 5.2 および iPlanet Calendar Server 5.1 に含まれています。 Java API は、Java Message Service 仕様 (JMS) に準拠しています。ENS は、Java Message Service に対するプロバイダの役割を果たします。 このため、JMS は ENS に Java API を提供します。ソフトウェアは、ベースライブラリとデモプログラムで構成されています。
Java API を使用するための前提条件
Java API を使用するには、ENS を使用できるようにしておく必要があります。 iPlanet Messaging Server で ENS を使用可能にする方法については、『iPlanet Messaging Server 5.2 管理者ガイド』の付録 C を参照してください。 iPlanet Calendar Server では、デフォルトで ENS が使用できます。さらに、次のソフトウェアもインストールする必要があります。このソフトウェアは、iPlanet Messaging Server も iPlanet Calendar Server もどちらも提供していません。
このソフトウェアは、http://java.sun.com からダウンロードできます。
サンプル Java プログラム
iPlanet Messaging Server 5.2 サンプルプログラムの JmsSample および JBiff は、server-root/bin/msg/enssdk/java/com/iplanet/ens/samples ディレクトリに格納されています。 JmsSample は、汎用 ENS サンプルプログラムです。 JBiff は、iPlanet Messaging Server 固有のサンプルプログラムです。上記は、http://java.sun.com からダウンロードできます。
環境を設定する
この節では、サンプルプログラムをコンパイルして実行できるようにするために必要となることがらについて説明します。
CLASSPATH が次の項目を含むよう設定します。
javac com/iplanet/ens/samples/JmsSample.java
server-root/bin/msg/enssdk/java ディレクトリに移ります。
- ens.jar ファイル - ens.jar
- (iPlanet Messaging Server では、ens.jar は、server-root/java/jars/ ディレクトリにあります。)
- Java Message Service - full-path/jms1.0.2/jms.jar
CLASSPATH が次の項目を含むよう設定します。
javac com/iplanet/ens/samples/JBiff.java
server-root/bin/msg/enssdk/java ディレクトリに移ります。
- ens.jar ファイル - ens.jar
- (iPlanet Messaging Server では、ens.jar は、server-root/java/jars/ ディレクトリにあります。)
- Java Message Service - full-path/jms1.0.2/jms.jar
- JavaMail - full-path/javamail-1.2/mail.jar
- Java Activation Framework - full-path/jaf-1.0.1/activation.jar
java com.iplanet.ens.samples.JmsSample
次の 3 つの項目の入力が要求されます。
イベントを公開します。
- iPlanet Messaging Server には、イベントを公開する次の 2 つの方法があります。
ENS の apub C サンプルプログラムが使用できます。 詳細については、「iPlanet Messaging Server のコーディング例」 を参照してください。
ENS が使用可能である場合は、iBiff が iPlanet Messaging Server 関連のイベントを公開するよう設定します。
- iPlanet Calendar Server の場合、イベントはカレンダーサーバによって公開されます。
JBiff デモプログラムを実行するには
前提条件: JBiff デモプログラムを実行するには、iPlanet Messaging Server で ENS を使用できるようにしておく必要があります。 ENS を使用可能にする手順については、『iPlanet Messaging Server 5.2 管理者ガイド 』の付録 C を参照してください。
注 デモは現在、ENS イベント参照 enp://127.0.0.1/store を使用するようハードコード化されています。 これは、iBiff 通知プラグインが使用するデフォルトのイベント参照です。
java com.iplanet.ens.samples.JBiff
ユーザ ID (userid)、ホスト名 (hostname)、およびパスワード (password) の入力を求められます。
2 つのテストプログラムは、ENS サブスクライバです。 電子メールメッセージが iPlanet Messaging Server を介して転送されると、iBiff からイベントを受信します。 または、apub C サンプルプログラムを使用して、イベントを生成することもできます。 詳細については、「iPlanet Messaging Server のコーディング例」 を参照してください。
- コードは、ENS サーバおよび IMAP サーバが hostname 上で実行していることを前提としています。 userid および password は、IMAP アカウントにアクセスするための IMAP ユーザ名およびパスワードです。
Java (JMS) API の概要
Java API for ENS は、標準 Java Messaging Service (JMS) API のサブセットを使用し、次の 2 つの新しい固有メソッドが加わっています。JMS では、2 つの ENS 固有クラスが提供する TopicConnectionFactory および Topic の作成が必要です。
標準 JMS のクラスとメソッドの詳細については、次のサイトにある JMS マニュアルを参照してください。
http://java.sun.com/products/jms/docs.html
新しい固有メソッド
2 つの固有メソッドクラスとは、EnsTopicConnFactory および EnsTopic です。
com.iplanet.ens.jms.EnsTopicConnFactory
メソッドについて
このメソッドは、javax.jms.TopicConnectionFactory を返すコンストラクタです。 JNDI 形式の検索を使用して TopicConnectionFactory オブジェクトを取得する代わりに、このメソッドが提供されます。
構文
public EnsTopicConnFactory (String name,
String hostname,
int port
OutputStream logStream)
このメソッドについて
このメソッドは、javax.jms.Topic を返すコンストラクタです。 JNDI 形式の検索を使用して javax.jms.Topic オブジェクトを取得する代わりに、このメソッドが提供されます。
構文
public EnsTopic (String eventRef)
実装上の注意
この節では、ENS Java API を実装するときに理解しておくべき項目について説明します。
現在の実装における欠点
Java API の現在の実装では、初期プロバイダインタフェースが提供されません。JMS Topic Connection Factory および ENS Destination が明示的に呼び出されます。 これらは、com.iplanet.ens.jms.EnsTopicConnFactory および com.iplanet.ens.jms.EnsTopic です。ENS では、TopicConnectionFactory オブジェクトや Topic オブジェクトの取得に JNDI は使用しません。
通知の配信
通知は、javax.jms.TextMessage として配信されます。 ENS イベント参照のパラメータとその値は TextMessage に対するプロパティ名として提供されます。 ペイロードは、TextMessage のデータとして提供されます。
JMSDeliveryMode は常に、NON_PERSISTENT に設定されています (つまり以降の配信のためにメッセージは格納されません)。
JMSRedelivered は常に、false に設定されています。
JMSMessageID は、内部 ID に設定されています。つまり、iPlanet Messaging Server の電子メールメッセージのヘッダーの SMTP MessageID には設定されていません。
ペイロードは常に、javax.jms.TextMessage です。 ENS のペイロードに対応しています。
JMSDestination は、完全イベント参照に設定されています (つまり、この通知に固有のパラメータ/値を含んでいます)。
JMSCorrelationID - 内部シーケンス番号に設定されます。
JMSTimestamp - メッセージが送信された時刻に設定されます。
JMSType - 通知の種類。
追加のプロパティ:
イベント参照の各パラメータと値は、ヘッダーではプロパティになります。 すべてのプロパティ値は、String 型です。
未使用ヘッダーは、JMSExpiration、JMSpriority、JMSReplyTo です。
前へ 目次 索引 DocHome 次へ
Copyright (C) 2002 Sun Microsystems, Inc. Some preexisting portions Copyright (C) 2000 Netscape Communications Corp. All rights reserved.
最終更新日: 2002 年 1 月 31 日