Cosminexus V9 アプリケーションサーバ Cosminexus Reliable Messaging
QueueConnectionインタフェースは,アプリケーションがReliable Messagingにアクセスするために使用するアプリケーションレベルのハンドルを提供します。
QueueConnectionオブジェクトを取得するには,QueueConnectionFactory.createQueueConnection()メソッドを使用します。
createQueueSession()メソッドを発行することでQueueSessionオブジェクトを生成します。また,createQueueSession()メソッドのtransacted引数によってトランザクション設定を指定し,acknowledgeMode引数を指定することでメッセージ承認モードを指定できます。
各引数を指定したときのトランザクションとメッセージ送受信の関係については,「2.6.6 トランザクション制御」を参照してください。
start()およびstop()メソッドを発行することで配送の開始と停止を制御できます。QueueConnectionオブジェクトは生成時に配送停止状態に設定されています。
Reliable Messagingの製品名やバージョン,JMS APIのバージョンを保持するConnectionMetaDataオブジェクトを取得できます。
QueueConnectionオブジェクトをクローズできます。クローズによって,QueueConnectionオブジェクトに関連づけられたすべてのセッションをクローズし,QueueConnectionオブジェクトに関連づけられたすべてのリソースを解放します。
public interface Connection { public void close() throws JMSException; public java.lang.String getClientID() throws JMSException; public ExceptionListener getExceptionListener() throws JMSException; public ConnectionMetaData getMetaData() throws JMSException; public void setClientID(java.lang.String clientID) throws JMSException; public void setExceptionListener(ExceptionListener listener) throws JMSException; public void start() throws JMSException; public void stop() throws JMSException; } public interface QueueConnection extends javax.jms.Connection { public ConnectionConsumer createConnectionConsumer(Queue queue, java.lang.String messageSelector, ServerSessionPool sessionPool, int maxMessages) throws JMSException; public QueueSession createQueueSession(boolean transacted, int acknowledgeMode) throws JMSException; }
ありません。
「(5) 形式」に記載した順序で各メソッドを説明します。
public void close() throws JMSException
コネクションをクローズします。メソッドを発行すると,コネクションに関連づけられているすべてのセッションがクローズされます。コネクションに代わってJavaVM外部リソースが割り当てられているので,これらのリソースが不要になった場合はコネクションをクローズしてください。メソッドを発行すると次に示すとおり動作します。
例外クラス | 説明 |
---|---|
JMSException | 内部エラーのためにJMSプロバイダがコネクションのクローズに失敗しました。 |
public java.lang.String getClientID() throws JMSException
このメソッドは未サポートです。
このメソッドを発行した場合,nullを返します。
public ExceptionListener getExceptionListener() throws JMSException
このメソッドは未サポートです。
このメソッドを発行した場合,nullを返します。
public ConnectionMetaData getMetaData() throws JMSException
コネクションのメタデータを返します。
例外クラス | 説明 |
---|---|
JMSException | コネクションがクローズしている状態で,メソッドを発行しました。 |
内部エラーのためにJMSプロバイダがコネクション用のメタデータ取得に失敗しました。 |
public void setClientID(java.lang.String clientID) throws JMSException
このメソッドは未サポートです。
このメソッドで設定した値は実際には使用されません。
引数名 | 説明 |
---|---|
java.lang.String | 一意のJMSクライアント識別子 |
public void setExceptionListener(ExceptionListener listener) throws JMSException
このメソッドは未サポートです。
このメソッドで設定した値は実際には使用されません。
引数名 | 説明 |
---|---|
listener | 例外リスナ |
public void start() throws JMSException
コネクションを開始することによって,コネクションに関連づけられているすべてのセッションで,メッセージの配送を開始(または再度開始)します。stop()メソッド発行後や生成後のコネクションは配送が禁止された状態であり,start()メソッドを発行するまでコネクションでは配送が開始されません。開始しているコネクションに対するstart()メソッドの発行は無視されます。
例外クラス | 説明 |
---|---|
JMSException | コネクションがクローズしている状態で,メソッドを発行しました。 |
内部エラーのためにJMSプロバイダがメッセージ配送の開始に失敗しました。 |
public void stop() throws JMSException
コネクションでのメッセージの配送を一時的に停止します。コネクションを停止すると,コネクションに関連づけられているすべてのセッションで配送が禁止されます。停止しているコネクションに対するstop()メソッドの発行は無視されます。
メッセージの配送が停止するまで,stop()メソッドの発行は復帰しません。これは,コネクションが再度開始されるまで,receive()メソッドの復帰を待つすべてのスレッドがメッセージを保持して復帰しないことを意味します。停止したコネクションのQueueReceiver.receive()メソッドのタイマは進行し続けるため,コネクション停止中にreceive()メソッドの処理がタイムアウトすることがあります。
なお,コネクションが停止している間もメッセージは送信できます。
例外クラス | 説明 |
---|---|
JMSException | コネクションがクローズしている状態で,メソッドを発行しました。 |
内部エラーのためにJMSプロバイダがメッセージ配送の停止に失敗しました。 |
public ConnectionConsumer createConnectionConsumer(Queue queue, java.lang.String messageSelector, ServerSessionPool sessionPool, int maxMessages) throws JMSException
このメソッドは未サポートです。
このメソッドを発行した場合,JMSExceptionが発生します。
引数名 | 説明 |
---|---|
queue | アクセス対象のキュー |
messageSelector | メッセージセレクタ構文に一致するプロパティを保持するメッセージだけが配送されます。 |
sessionPool | 接続コンシューマに関連づけるサーバセッションプール |
maxMessages | 一度にサーバセッションに割り当てできる最大メッセージ数 |
例外クラス | 説明 |
---|---|
JMSException | メソッドが未サポートであることを示します。 |
public QueueSession createQueueSession(boolean transacted, int acknowledgeMode) throws JMSException
QueueSessionオブジェクトを生成します。
引数名 | 説明 |
---|---|
transacted | トランザクション設定を指定する引数です。セッションがトランザクション処理されるかどうかを示します。有効な値を次に示します。
|
acknowledgeMode | メッセージ承認モードを指定する引数です。JMSクライアントが受信するメッセージをどのように承認するかを示します。transacted引数がtrueの場合は無視されます。有効な値を次に示します。
|
例外クラス | 説明 |
---|---|
JMSException | コネクションがクローズしている状態で,メソッドを発行しました。 |
内部エラーまたはトランザクションおよびメッセージ承認モードのサポートが不足しているために,QueueConnectionオブジェクトがセッションの作成に失敗しました。 |
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.