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

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

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

javax.jms

Cosminexus RMが提供するJMSインタフェースの一覧について,次の表に示します。

表7-1 JMSインタフェースの一覧

項番インタフェース名機能
1BytesMessage設定したデータをバイトストリームで保持します。提供する機能は,ペイロードの設定と取得およびアクセスモードの変更です。
なお,Messageインタフェースが提供する機能も含みます。
2ConnectionMetaDataJMSの基本情報を提供します。提供する基本情報は,JMS APIのバージョン,JMSプロバイダのバージョン,JMSプロバイダ名およびJMSXプロパティ名の列挙などです。
3DeliveryModeメッセージの永続化と非永続化を示す定数を提供します。
4MessageBytesMessage,ObjectMessageおよびTextMessageのルートインタフェースです。提供する機能は,ヘッダの設定と取得,プロパティの設定,取得と初期化,ペイロードの初期化およびメッセージ受信の承認です。
5ObjectMessage設定したデータをjava.io.Serializable型で保持します。提供する機能は,ペイロードの設定と取得です。
なお,Messageインタフェースが提供する機能も含みます。
6Queue
(Destination)
JMSプロバイダ特有のキュー名を保持します。提供する機能は,キュー名の取得です。
7QueueBrowserJMSクライアントがキューからメッセージを削除しないで参照するための機能を提供します。提供する機能は,現在のキューにあるメッセージ一覧の取得,メッセージセレクタの取得,QueueBrowserオブジェクトのクローズおよびキューの取得です。
8QueueConnection
(Connection)
アプリケーションがCosminexus RMにアクセスするために使用するアプリケーションレベルのハンドルを提供します。提供する機能は,QueueSessionオブジェクトの生成,配送の開始と停止,ConnectionMetaDataオブジェクトの取得,コネクションのクローズです。
9QueueConnectionFactory
(ConnectionFactory)
コネクションを生成する機能を提供します。
10QueueReceiver
(MessageConsumer)
JMSクライアントがキューからメッセージを取得するための機能を提供します。提供する機能は,メッセージの受信,メッセージセレクタの取得,QueueReceiverオブジェクトのクローズおよびキューの取得です。
11QueueSender
(MessageProducer)
JMSクライアントがあて先にメッセージを送信するための機能を提供します。提供する機能は,メッセージの送信,QueueSenderオブジェクトのクローズです。
12QueueSession
(Session)
アプリケーションが論理的なコネクションハンドルとして利用するインタフェースです。提供する機能は,Message,BytesMessage,ObjectMessage,TextMessage,QueueSender,QueueReceiverおよびQueueBrowserオブジェクトの生成,ローカルトランザクションのコミットとロールバック,セッションのクローズならびに配送するメッセージのリカバーです。
13TextMessage設定したデータをjava.lang.String型で保持します。提供する機能は,ペイロードの設定と取得です。
なお,Messageインタフェースが提供する機能も含みます。
Sun Microsystems Inc.が提供するJMS 1.0.2bとCosminexus RMが提供するJMSインタフェースとの機能差については,「付録A JMS仕様との差異」を参照してください。
注※
丸括弧内は継承元となる親インタフェース名です。

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

javax.jms

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

表7-2 JMSインタフェースの例外クラスの一覧

項番例外クラス名例外が発生する状況
1IllegalStateExceptionメソッドが不正なタイミングや不適切なタイミングで発行された場合,またはJMSプロバイダが要求された操作に対して適切な状態にない場合
2InvalidClientIDExceptionJMSクライアントがコネクションのJMSクライアント識別子をJMSプロバイダに拒否された値に設定しようとした場合
3InvalidDestinationExceptionあて先がJMSプロバイダによって理解されない,つまりあて先が有効でない場合
4InvalidSelectorExceptionJMSクライアントが不正な構文のメッセージセレクタをJMSプロバイダに指定した場合
5JMSExceptionJMS API例外が発生した場合。すべてのJMS API例外のルートクラスであるため,特定のタイミングに該当しません。
6JMSSecurityExceptionJMSクライアントが送信したユーザ名またはパスワードがJMSプロバイダに拒否された場合
7MessageEOFExceptionBytesMessageインタフェースの読み取り中に予期しないストリーム終端に達した場合
8MessageFormatExceptionJMSクライアントがメッセージによってサポートされていないデータタイプを使おうとした場合,またはメッセージデータを間違った型で読み取ろうとした場合
9MessageNotReadableExceptionJMSクライアントが書き込み専用のメッセージを読み取ろうとした場合
10MessageNotWriteableExceptionJMSクライアントが読み取り専用のメッセージに書き込もうとした場合
11ResourceAllocationExceptionJMSプロバイダがメソッドによって要求されたリソースを割り当てられない場合
12TransactionInProgressExceptionトランザクションが進行中であるために操作が無効である場合
13TransactionRolledBackExceptionSession.commit()メソッドの発行の結果が現在のトランザクションのロールバックに帰着する場合
注意
Cosminexus RMを一つのJ2EEサーバに複数デプロイして,一つのアプリケーションから複数のCosminexus RMを利用する場合,一つのCosminexus RM側で作成したオブジェクトを他方のCosminexus RM側に渡すような操作はしないでください。
例えば,Cosminexus RM1で作成したメッセージをCosminexus RM2のjavax.jms.QueueSenderによって送信するなどの操作はしないでください。