7.4.7 QueueBrowserインタフェース
QueueBrowserインタフェースは,JMSクライアントがキューからメッセージを削除しないで参照するために使用します。
- 〈この項の構成〉
(1) 現在のキューにあるメッセージ一覧の取得
現在のキューにあるメッセージの一覧を取得します。メッセージセレクタを設定してQueueBrowserオブジェクトが生成されている場合は,メッセージセレクタに応じたメッセージだけを参照できます。
(2) メッセージセレクタの取得
QueueBrowserオブジェクトを生成する際に設定されたメッセージセレクタを取得します。メッセージセレクタについては,「2.6.2 メッセージセレクタ」を参照してください。
(3) キューブラウザのクローズ
QueueBrowserオブジェクトをクローズできます。クローズによって,QueueBrowserオブジェクトに関連づけられたすべてのリソースを解放します。
QueueBrowserインタフェースのメソッドは,複数スレッドからの同時発行をJMSで禁止されています。ただし,close()メソッドだけは複数スレッドから同時発行してパラレルに実行できます。
(4) キューの取得
キューブラウザを生成する際に設定されたキューを取得します。
(5) 形式
public interface QueueBrowser { public void close() throws JMSException; public java.util.Enumeration getEnumeration() throws JMSException; public java.lang.String getMessageSelector() throws JMSException; public Queue getQueue() throws JMSException; }
(6) フィールド
ありません。
(7) メソッド
「(5) 形式」に記載した順序で各メソッドを説明します。
(a) closeメソッド
public void close() throws JMSException
キューブラウザをクローズします。キューブラウザには幾つかのリソースが割り当てられている場合があるため,リソースが不要になった場合はキューブラウザをクローズしてください。
-
クローズされているキューブラウザをクローズしても例外は発生しません。
-
このメソッドはQueueBrowserインタフェースでは唯一,複数スレッドから同時に発行できます。
-
引数
ありません。
-
戻り値
ありません。
-
例外
例外クラス
説明
JMSException
内部エラーのためにJMSプロバイダがキューブラウザをクローズする処理に失敗しました。
例外クラスには障害コードと障害情報が設定されます。障害コードと対処については,「7.9 障害コードの詳細」を参照してください。
(b) getEnumerationメソッド
public java.util.Enumeration getEnumeration() throws JMSException
現在のキューにあるメッセージの列挙を取得します。
-
一覧を取得したあとにメッセージを閲覧する場合,メッセージがすでに削除または消失していることがあります。
-
キューブラウザがclose状態の場合,Enumeration.hasMoreElements()メソッドの戻り値はfalseです。
-
キューブラウザがclose状態の場合,Enumeration.nextElement()メソッドを発行するとNoSuchElementExceptionが発生します。
-
送信用共用キューおよび転送キューにgetEnumeration()メソッドを発行した場合は空のリストを返します。
-
引数
ありません。
-
戻り値
表示用メッセージの一覧。
-
例外
例外クラス
説明
JMSException
セッション,コネクションまたはキューブラウザをクローズしている状態でメソッドを発行しました。
内部エラーのためにJMSプロバイダがQueueBrowserオブジェクトのメッセージ一覧の取得に失敗しました。
例外クラスには障害コードと障害情報が設定されます。障害コードと対処については,「7.9 障害コードの詳細」を参照してください。
(c) getMessageSelectorメソッド
public java.lang.String getMessageSelector() throws JMSException
キューブラウザのメッセージセレクタ構文を返します。
-
引数
ありません。
-
戻り値
キューブラウザのメッセージセレクタ構文。
-
例外
例外クラス
説明
JMSException
セッション,コネクションまたはキューブラウザをクローズしている状態でメソッドを発行しました。
内部エラーのためにJMSプロバイダがQueueBrowserオブジェクトのメッセージセレクタの取得に失敗しました。
例外クラスには障害コードと障害情報が設定されます。障害コードと対処については,「7.9 障害コードの詳細」を参照してください。
(d) getQueueメソッド
public Queue getQueue() throws JMSException
キューブラウザに関連づけられたキューを返します。
-
引数
ありません。
-
戻り値
キューブラウザのQueueオブジェクト。
-
例外
例外クラス
説明
JMSException
セッション,コネクションまたはキューブラウザをクローズしている状態でメソッドを発行しました。
内部エラーのためにJMSプロバイダがQueueBrowserオブジェクトに関連づけられたキューの取得に失敗しました。
例外クラスには障害コードと障害情報が設定されます。障害コードと対処については,「7.9 障害コードの詳細」を参照してください。