7.2 JMSインタフェースの一覧
Reliable MessagingのJMSインタフェースは,永続版リソースアダプタ,非永続版リソースアダプタともに使用できます。
JMSインタフェースは,次に示すパッケージによって提供されます。
javax.jms
Reliable Messagingが提供するJMSインタフェースの一覧を次の表に示します。
項番 |
インタフェース名※ |
機能 |
---|---|---|
1 |
BytesMessage |
設定したデータをバイトストリームで保持します。提供する機能は,ペイロードの設定と取得およびアクセスモードの変更です。 なお,Messageインタフェースが提供する機能も含みます。 |
2 |
ConnectionMetaData |
JMSの基本情報を提供します。提供する基本情報は,JMS APIのバージョン,JMSプロバイダのバージョン,JMSプロバイダ名およびJMSXプロパティ名の列挙などです。 |
3 |
DeliveryMode |
メッセージの永続化と非永続化を示す定数を提供します。 |
4 |
Message |
BytesMessage,ObjectMessageおよびTextMessageのルートインタフェースです。提供する機能は,ヘッダの設定と取得,プロパティの設定,取得と初期化,ペイロードの初期化およびメッセージ受信の承認です。 |
5 |
ObjectMessage |
設定したデータをjava.io.Serializable型で保持します。提供する機能は,ペイロードの設定と取得です。 なお,Messageインタフェースが提供する機能も含みます。 |
6 |
Queue (Destination) |
JMSプロバイダ特有のキュー名を保持します。提供する機能は,キュー名の取得です。 |
7 |
QueueBrowser |
JMSクライアントがキューからメッセージを削除しないで参照するための機能を提供します。提供する機能は,現在のキューにあるメッセージ一覧の取得,メッセージセレクタの取得,QueueBrowserオブジェクトのクローズおよびキューの取得です。 |
8 |
QueueConnection (Connection) |
アプリケーションがReliable Messagingにアクセスするために使用するアプリケーションレベルのハンドルを提供します。提供する機能は,QueueSessionオブジェクトの生成,配送の開始と停止,ConnectionMetaDataオブジェクトの取得,コネクションのクローズです。 |
9 |
QueueConnectionFactory (ConnectionFactory) |
コネクションを生成する機能を提供します。 |
10 |
QueueReceiver (MessageConsumer) |
JMSクライアントがキューからメッセージを取得するための機能を提供します。提供する機能は,メッセージの受信,メッセージセレクタの取得,QueueReceiverオブジェクトのクローズおよびキューの取得です。 |
11 |
QueueSender (MessageProducer) |
JMSクライアントがあて先にメッセージを送信するための機能を提供します。提供する機能は,メッセージの送信,QueueSenderオブジェクトのクローズです。 |
12 |
QueueSession (Session) |
アプリケーションが論理的なコネクションハンドルとして利用するインタフェースです。提供する機能は,Message,BytesMessage,ObjectMessage,TextMessage,QueueSender,QueueReceiverおよびQueueBrowserオブジェクトの生成,ローカルトランザクションのコミットとロールバック,セッションのクローズならびに配送するメッセージのリカバーです。 |
13 |
TextMessage |
設定したデータをjava.lang.String型で保持します。提供する機能は,ペイロードの設定と取得です。 なお,Messageインタフェースが提供する機能も含みます。 |
JMSインタフェース使用時の例外クラスは,次に示すパッケージによって提供されます。
javax.jms
JMSインタフェース使用時の例外クラスの一覧を次の表に示します。
項番 |
例外クラス名 |
例外が発生する状況 |
---|---|---|
1 |
IllegalStateException |
メソッドが不正なタイミングや不適切なタイミングで発行された場合,またはJMSプロバイダが要求された操作に対して適切な状態にない場合 |
2 |
InvalidClientIDException |
JMSクライアントがコネクションのJMSクライアント識別子をJMSプロバイダに拒否された値に設定しようとした場合 |
3 |
InvalidDestinationException |
あて先がJMSプロバイダによって理解されない,つまりあて先が有効でない場合 |
4 |
InvalidSelectorException |
JMSクライアントが不正な構文のメッセージセレクタをJMSプロバイダに指定した場合 |
5 |
JMSException |
JMS API例外が発生した場合。すべてのJMS API例外のルートクラスであるため,特定のタイミングに該当しません。 |
6 |
JMSSecurityException |
JMSクライアントが送信したユーザ名またはパスワードがJMSプロバイダに拒否された場合 |
7 |
MessageEOFException |
BytesMessageインタフェースの読み取り中に予期しないストリーム終端に達した場合 |
8 |
MessageFormatException |
JMSクライアントがメッセージによってサポートされていないデータタイプを使おうとした場合,またはメッセージデータを間違った型で読み取ろうとした場合 |
9 |
MessageNotReadableException |
JMSクライアントが書き込み専用のメッセージを読み取ろうとした場合 |
10 |
MessageNotWriteableException |
JMSクライアントが読み取り専用のメッセージに書き込もうとした場合 |
11 |
ResourceAllocationException |
JMSプロバイダがメソッドによって要求されたリソースを割り当てられない場合 |
12 |
TransactionInProgressException |
トランザクションが進行中であるために操作が無効である場合 |
13 |
TransactionRolledBackException |
Session.commit()メソッドの発行の結果が現在のトランザクションのロールバックに帰着する場合 |
- 注意事項
-
Reliable Messagingを一つのJ2EEサーバに複数デプロイして,一つのアプリケーションから複数のReliable Messagingを利用する場合,一つのReliable Messaging側で作成したオブジェクトを他方のReliable Messaging側に渡すような操作はしないでください。
例えば,Reliable Messaging1で作成したメッセージをReliable Messaging2のjavax.jms.QueueSenderによって送信するなどの操作はしないでください。