Cosminexus V9 アプリケーションサーバ Cosminexus Reliable Messaging

[目次][用語][索引][前へ][次へ]

7.2 JMSインタフェースの一覧

Reliable MessagingのJMSインタフェースは,永続版リソースアダプタ,非永続版リソースアダプタともに使用できます。

JMSインタフェースは,次に示すパッケージによって提供されます。

 
javax.jms
 

Reliable Messagingが提供するJMSインタフェースの一覧を次の表に示します。

表7-1 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インタフェースが提供する機能も含みます。

Oracle Corporationが提供するJMS 1.0.2bとReliable Messagingが提供するJMSインタフェースとの機能差については,「付録A JMS仕様との差異」を参照してください。

注※
丸括弧内は継承元となる親インタフェース名です。

JMSインタフェース使用時の例外クラスは,次に示すパッケージによって提供されます。

 
javax.jms
 

JMSインタフェース使用時の例外クラスの一覧を次の表に示します。

表7-2 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によって送信するなどの操作はしないでください。