Hitachi

Cosminexus V11 アプリケーションサーバ 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によって送信するなどの操作はしないでください。