Cosminexus V9 アプリケーションサーバ Cosminexus Reliable Messaging
QueueSession(Session)インタフェースはアプリケーションが使用する論理的なコネクションハンドルです。
メッセージオブジェクト(Message,BytesMessage,ObjectMessageまたはTextMessageオブジェクト)を生成します。
QueueSenderオブジェクトを生成します。QueueSenderオブジェクトを生成する際,メッセージのあて先をcreateSender()メソッドの引数に指定します。
QueueReceiverオブジェクトを生成します。QueueReceiverオブジェクトを生成する際,メッセージセレクタを設定できます。
QueueBrowserオブジェクトを生成します。QueueBrowserオブジェクトを生成する際,メッセージセレクタを設定できます。
キューセンダとキューレシーバにわたるローカルトランザクションの開始,コミットおよびロールバックを実行します。ローカルトランザクションについては,「2.6.6(1) ローカルトランザクションの利用」を参照してください。
QueueSessionオブジェクトをクローズできます。クローズによって,QueueSessionオブジェクトに関連づけられたすべてのQueueSender,QueueReceiverおよびQueueBrowserオブジェクトをクローズし,QueueSessionオブジェクトに関連づけられたすべてのリソースを解放します。
QueueSession(Session)インタフェースのメソッドは,複数スレッドからの同時発行をJMSで禁止されています。ただし,close()メソッドだけは複数スレッドから同時発行してパラレルに実行できます。また,クローズされたQueueSessionオブジェクトに関連するインタフェースのメソッドを実行するとIllegalStateExceptionが発生しますが,close()メソッドでは発生しません。
一度配送されたメッセージを再び配送できるようにします。recover()メソッドの動作については,「2.6.6(4) トランザクションとメッセージ受信」を参照してください。
public interface Session extends java.lang.Runnable { public static final int AUTO_ACKNOWLEDGE; public static final int CLIENT_ACKNOWLEDGE; public static final int DUPS_OK_ACKNOWLEDGE; public void close() throws JMSException; public void commit() throws JMSException; public BytesMessage createBytesMessage() throws JMSException; public MapMessage createMapMessage() throws JMSException; public Message createMessage() throws JMSException; public ObjectMessage createObjectMessage() throws JMSException; public ObjectMessage createObjectMessage(java.io.Serializable object) throws JMSException; public StreamMessage createStreamMessage() throws JMSException; public TextMessage createTextMessage() throws JMSException; public TextMessage createTextMessage(java.lang.String text) throws JMSException; public MessageListener getMessageListener() throws JMSException; public boolean getTransacted() throws JMSException; public void recover() throws JMSException; public void rollback() throws JMSException; public void run(); public void setMessageListener(MessageListener listener) throws JMSException; } public interface QueueSession extends Session { public QueueBrowser createBrowser(Queue queue) throws JMSException; public QueueBrowser createBrowser(Queue queue, java.lang.String messageSelector) throws JMSException; public Queue createQueue(java.lang.String queueName) throws JMSException; public QueueReceiver createReceiver(Queue queue) throws JMSException; public QueueReceiver createReceiver(Queue queue, java.lang.String messageSelector) throws JMSException; public QueueSender createSender(Queue queue) throws JMSException; public TemporaryQueue createTemporaryQueue() throws JMSException; }
「(8) 形式」に記載した順序で各フィールドを説明します。
public static final int AUTO_ACKNOWLEDGE
このメッセージ承認モードでは,次に示す場合にセッションがJMSクライアントのメッセージ受信を自動的に確認応答します。
public static final int CLIENT_ACKNOWLEDGE
このメッセージ承認モードでは,JMSクライアントがメッセージのacknowledge()メソッドを発行して処理済みのメッセージを確認応答します。
public static final int DUPS_OK_ACKNOWLEDGE
このメッセージ承認モードはAUTO_ACKNOWLEDGEと同じ動作です。
「(8) 形式」に記載した順序で各メソッドを説明します。
public void close() throws JMSException
セッションをクローズします。セッションには幾つかのリソースが割り当てられている場合があるため,リソースが不要になった場合はセッションをクローズしてください。メソッドを発行すると次に示すとおり動作します。
なお,クローズされているセッションをクローズしても例外は発生しません。
複数スレッドから同時に発行できるメソッドは,QueueSessionインタフェースではこのメソッドだけです。
例外クラス | 説明 |
---|---|
JMSException | 内部エラーのためにJMSプロバイダがセッションをクローズする処理に失敗しました。 |
public void commit() throws JMSException
トランザクションで実行されたメッセージをすべてコミットし,設定中のロックをすべて解放します。
例外クラス | 説明 |
---|---|
IllegalStateException | セッションのトランザクションが開始していない状態で,メソッドが発行されました。 |
トランザクションマネジャでのトランザクションが進行中(例えば,分散トランザクションがJTAによって制御されている)であるため,コミットに失敗しました。 | |
トランザクションマネジャでのトランザクションがサスペンド中であるため,コミットに失敗しました。 | |
セッションまたはコネクションがクローズしている状態で,メソッドが発行されました。 | |
JMSException | 内部エラーのためにJMSプロバイダがトランザクションのコミットに失敗しました。 |
TransactionRolledBackException | コミット時に内部エラーのためにトランザクションがロールバックされました。 |
public BytesMessage createBytesMessage() throws JMSException
BytesMessageオブジェクトを作成します。
例外クラス | 説明 |
---|---|
IllegalStateException | セッションまたはコネクションがクローズしている状態で,メソッドを発行しました。 |
JMSException | 内部エラーのためにJMSプロバイダがメッセージの作成に失敗しました。 |
public MapMessage createMapMessage() throws JMSException
このメソッドは未サポートです。
このメソッドを発行した場合,JMSExceptionが発生します。
例外クラス | 説明 |
---|---|
JMSException | メソッドが未サポートであることを示します。 |
public Message createMessage() throws JMSException
Messageオブジェクトを作成します。
例外クラス | 説明 |
---|---|
IllegalStateException | セッションまたはコネクションがクローズしている状態で,メソッドを発行しました。 |
JMSException | 内部エラーのためにJMSプロバイダがメッセージの作成に失敗しました。 |
public ObjectMessage createObjectMessage() throws JMSException
ObjectMessageオブジェクトを作成します。
例外クラス | 説明 |
---|---|
IllegalStateException | セッションまたはコネクションがクローズしている状態で,メソッドを発行しました。 |
JMSException | 内部エラーのためにJMSプロバイダがメッセージの作成に失敗しました。 |
public ObjectMessage createObjectMessage(java.io.Serializable object) throws JMSException
ペイロードを設定済みのObjectMessageオブジェクトを,object引数を基に作成します。
引数名 | 説明 |
---|---|
object | メッセージの初期化に使用するオブジェクト |
例外クラス | 説明 |
---|---|
IllegalStateException | セッションまたはコネクションがクローズしている状態で,メソッドを発行しました。 |
JMSException | 内部エラーのためにJMSプロバイダがメッセージの作成に失敗しました。 |
public StreamMessage createStreamMessage() throws JMSException
このメソッドは未サポートです。
このメソッドを発行した場合,JMSExceptionが発生します。
例外クラス | 説明 |
---|---|
JMSException | メソッドが未サポートであることを示します。 |
public TextMessage createTextMessage() throws JMSException
TextMessageオブジェクトを作成します。
例外クラス | 説明 |
---|---|
IllegalStateException | セッションまたはコネクションがクローズしている状態で,メソッドを発行しました。 |
JMSException | 内部エラーのためにJMSプロバイダがメッセージの作成に失敗しました。 |
public TextMessage createTextMessage(java.lang.String text) throws JMSException
ペイロードを設定済みのTextMessageオブジェクトを,text引数を基に作成します。
引数名 | 説明 |
---|---|
text | メッセージの初期化に使用する文字列 |
例外クラス | 説明 |
---|---|
IllegalStateException | セッションまたはコネクションがクローズしている状態で,メソッドを発行しました。 |
JMSException | 内部エラーのためにJMSプロバイダがメッセージの作成に失敗しました。 |
public MessageListener getMessageListener() throws JMSException
このメソッドは未サポートです。
メソッドを発行した場合,nullを返します。
public boolean getTransacted() throws JMSException
セッションがトランザクションモードであるかどうかを示します。
例外クラス | 説明 |
---|---|
IllegalStateException | セッションまたはコネクションがクローズしている状態で,メソッドを発行しました。 |
JMSException | 内部エラーのためにJMSプロバイダがトランザクションモード値の取得に失敗しました。 |
public void recover() throws JMSException
メソッドを発行すると次に示すとおり動作します。
例外クラス | 説明 |
---|---|
IllegalStateException | トランザクションマネジャでのトランザクションが開始しているセッションで,メソッドが発行されました。 |
トランザクションマネジャでのトランザクションが開始していることによって,メソッドが失敗しました。 | |
セッションまたはコネクションがクローズしている状態で,メソッドを発行しました。 | |
JMSException | 内部エラーのためにJMSプロバイダがメッセージ配送の停止および再開に失敗しました。 |
public void rollback() throws JMSException
トランザクションで実行されたメッセージをすべてロールバックし,設定中のロックをすべて解放します。
例外クラス | 説明 |
---|---|
IllegalStateException | セッションのトランザクションが開始していない状態で,メソッドが発行されました。 |
トランザクションマネジャでのトランザクションが進行中(例えば,分散トランザクションがJTAによって制御されている)であるため,ロールバックに失敗しました。 | |
トランザクションマネジャでのトランザクションがサスペンド中であるため,ロールバックに失敗しました。 | |
セッションまたはコネクションがクローズしている状態で,メソッドを発行しました。 | |
JMSException | 内部エラーのためにJMSプロバイダがトランザクションのロールバックに失敗しました。 |
public void run()
このメソッドは未サポートです。
このメソッドを発行した場合,実質的な処理は行われません。
public void setMessageListener(MessageListener listener) throws JMSException
このメソッドは未サポートです。
このメソッドで設定した値は実際には使用されません。
引数名 | 説明 |
---|---|
listener | セッションに関連づけるメッセージリスナ |
public QueueBrowser createBrowser(Queue queue) throws JMSException
QueueBrowserオブジェクトを作成して,指定されたキューのメッセージを調べます。
引数名 | 説明 |
---|---|
queue | アクセス対象のキュー |
例外クラス | 説明 |
---|---|
IllegalStateException | セッションまたはコネクションがクローズしている状態で,メソッドを発行しました。 |
InvalidDestinationException | 無効なキューが指定されたためにQueueBrowserオブジェクトの生成に失敗しました。 |
JMSException | 内部エラーのためにセッションがQueueBrowserオブジェクトの作成に失敗しました。 |
public QueueBrowser createBrowser(Queue queue, java.lang.String messageSelector) throws JMSException
QueueBrowserオブジェクトを作成し,メッセージセレクタを使用して指定されたキューのメッセージを調べます。
引数名 | 説明 |
---|---|
queue | アクセス対象のキュー |
messageSelector | メッセージセレクタ構文 |
例外クラス | 説明 |
---|---|
IllegalStateException | セッションまたはコネクションがクローズしている状態で,メソッドを発行しました。 |
InvalidDestinationException | 無効なキューが指定されたためにQueueBrowserオブジェクトの生成に失敗しました。 |
InvalidSelectorException | 無効なメッセージセレクタを設定しました。 |
JMSException | 内部エラーのためにセッションがQueueBrowserオブジェクトの作成に失敗しました。 |
public Queue createQueue(java.lang.String queueName) throws JMSException
キューの名前を指定して,キューの識別情報を作成します。
queueName引数にはhrmmkqueコマンドに指定したキュー名を指定します。
引数名 | 説明 |
---|---|
queueName | キューの名前 |
例外クラス | 説明 |
---|---|
IllegalStateException | セッションまたはコネクションがクローズしている状態で,メソッドを発行しました。 |
JMSException | 内部エラーのためにセッションがキューの作成に失敗しました。 |
public QueueReceiver createReceiver(Queue queue) throws JMSException
QueueReceiverオブジェクトを作成して,指定されたキューからメッセージを受信します。
引数名 | 説明 |
---|---|
queue | アクセス対象のキュー |
例外クラス | 説明 |
---|---|
IllegalStateException | セッションまたはコネクションがクローズしている状態で,メソッドを発行しました。 |
InvalidDestinationException | 無効なキューが指定されたためにQueueReceiverオブジェクトの生成に失敗しました。 |
JMSException | 内部エラーのためにセッションがQueueReceiverオブジェクトの作成に失敗しました。 |
public QueueReceiver createReceiver(Queue queue, java.lang.String messageSelector) throws JMSException
QueueReceiverオブジェクトを作成し,メッセージセレクタを使用して指定されたキューからメッセージを受信します。
引数名 | 説明 |
---|---|
queue | アクセス対象のキュー。 |
messageSelector | メッセージセレクタ。メッセージセレクタ構文に一致するプロパティを保持するメッセージだけが配送されます。 |
例外クラス | 説明 |
---|---|
IllegalStateException | セッションまたはコネクションがクローズしている状態で,メソッドを発行しました。 |
InvalidDestinationException | 無効なキューが指定されたためにQueueReceiverオブジェクトの生成に失敗しました。 |
InvalidSelectorException | 無効なメッセージセレクタを設定しました。 |
JMSException | 内部エラーのためにセッションがQueueReceiverオブジェクトの作成に失敗しました。 |
public QueueSender createSender(Queue queue) throws JMSException
QueueSenderオブジェクトを作成して,指定されたキューにメッセージを送信します。
引数名 | 説明 |
---|---|
queue | アクセス対象のキュー |
例外クラス | 説明 |
---|---|
IllegalStateException | セッションまたはコネクションがクローズしている状態で,メソッドを発行しました。 |
InvalidDestinationException | 無効なキューが指定されたためにQueueSenderオブジェクトの生成に失敗しました。 |
JMSException | 内部エラーのためにセッションがQueueSenderオブジェクトの作成に失敗しました。 |
public TemporaryQueue createTemporaryQueue() throws JMSException
このメソッドは未サポートです。
このメソッドを発行した場合,JMSExceptionが発生します。
例外クラス | 説明 |
---|---|
JMSException | メソッドが未サポートであることを示します。 |
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.