メッセージキューイングアクセス機能 TP1/Message Queue - Access 使用の手引

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

MessageConsumerインタフェースQueueReceiverインタフェース(JMS)

QueueReceiverインタフェースは,クライアントがキューからメッセージを受け取るために使用します。

形式

 
public interface MessageConsumer
{
  public void close() throws JMSException;
  public MessageListener getMessageListener() throws JMSException;
  public java.lang.String getMessageSelector() throws JMSException;
  public Message receive() throws JMSException;
  public Message receive(long timeout) throws JMSException;
  public Message receiveNoWait() throws JMSException;
  public void setMessageListener(MessageListener listener) throws JMSException;
}
 
public interface QueueReceiver
extends MessageConsumer
{
  public Queue getQueue() throws JMSException;
}

メソッド

● public void close() throws JMSException

TP1/Message Queueが確保した資源を解放するために,資源(キュー)をクローズします。

例外
JMSException:クローズに失敗しました。

● public MessageListener getMessageListener() throws JMSException

メッセージリスナを返します。

例外
JMSException:エラーが発生しました。

戻り値:メッセージリスナ

● public java.lang.String getMessageSelector() throws JMSException

メッセージセレクタを返します。

例外
JMSException:エラーが発生しました。

戻り値:メッセージセレクタ

● public Message receive() throws JMSException

該当するキューレシーバのために作られた,次メッセージを受け取ります。

メッセージが作られるまで,またはこのキューレシーバがクローズされるまで,このメソッドは無期限にブロックされて待ち状態になります。

トランザクション内でこのメソッドが実行された場合,コミットされるまでメッセージは残ります。

コネクションが受信禁止状態の場合は,nullが返され,メッセージKFCA31307-Wが出力されます。

例外
JMSException:エラーが発生しました。

戻り値:該当するキューレシーバのために作られた次メッセージ
このキューレシーバが同時にクローズされた場合,またはコネクションが受信禁止状態の場合は,nullが返ります。

● public Message receive(long timeout) throws JMSException

指定したタイムアウト時間以内に到着した次メッセージを受け取ります。

メッセージが作られるまで,タイムアウト時間が終了するまで,またはこのキューレシーバがクローズされるまで,このメソッドはブロックされて待ち状態になります。

timeoutが0の場合は,無期限にブロックされます。

コネクションが受信禁止状態の場合は,nullが返され,メッセージKFCA31307-Wが出力されます。

パラメタ
timeout
タイムアウト時間(単位:ミリ秒)を指定します。
0以上の値を指定します。ただし,1〜999の値を指定すると,1秒間ブロックされて待ち状態になります。
0未満の値を指定した場合,例外JMSExceptionがスローされます。

例外
JMSException:エラーが発生しました。

戻り値:該当するキューレシーバのために作られた次メッセージ
タイムアウト時間が終了した場合,このキューレシーバが同時にクローズされた場合,またはコネクションが受信禁止状態の場合は,nullが返ります。

● public Message receiveNoWait() throws JMSException

次メッセージをすぐに利用できる場合,そのメッセージを受け取ります。

コネクションが受信禁止状態の場合は,nullが返され,メッセージKFCA31307-Wが出力されます。

例外
JMSException:エラーが発生しました。

戻り値:該当するキューレシーバのために作られた次メッセージ
次メッセージが利用できない場合,またはコネクションが受信禁止状態の場合は,nullが返ります。

● public void setMessageListener(MessageListener listener) throws JMSException

メッセージリスナを設定します。

メッセージリスナはQueueReceiverオブジェクト内で記憶されますが,実際には使用されないので,注意が必要です

パラメタ
listener
メッセージリスナを指定します。

例外
JMSException:エラーが発生しました。

● public Queue getQueue() throws JMSException

キューレシーバに関連づけられたキューのオブジェクトを返します。

例外
JMSException:キューハンドルが取得できませんでした。

戻り値:Queueオブジェクト