メッセージキューイングアクセス機能 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が確保した資源を解放するために,資源(キュー)をクローズします。
● public MessageListener getMessageListener() throws JMSException
メッセージリスナを返します。
● public java.lang.String getMessageSelector() throws JMSException
メッセージセレクタを返します。
● public Message receive() throws JMSException
該当するキューレシーバのために作られた,次メッセージを受け取ります。
メッセージが作られるまで,またはこのキューレシーバがクローズされるまで,このメソッドは無期限にブロックされて待ち状態になります。
トランザクション内でこのメソッドが実行された場合,コミットされるまでメッセージは残ります。
コネクションが受信禁止状態の場合は,nullが返され,メッセージKFCA31307-Wが出力されます。
● public Message receive(long timeout) throws JMSException
指定したタイムアウト時間以内に到着した次メッセージを受け取ります。
メッセージが作られるまで,タイムアウト時間が終了するまで,またはこのキューレシーバがクローズされるまで,このメソッドはブロックされて待ち状態になります。
timeoutが0の場合は,無期限にブロックされます。
コネクションが受信禁止状態の場合は,nullが返され,メッセージKFCA31307-Wが出力されます。
● public Message receiveNoWait() throws JMSException
次メッセージをすぐに利用できる場合,そのメッセージを受け取ります。
コネクションが受信禁止状態の場合は,nullが返され,メッセージKFCA31307-Wが出力されます。
● public void setMessageListener(MessageListener listener) throws JMSException
メッセージリスナを設定します。
メッセージリスナはQueueReceiverオブジェクト内で記憶されますが,実際には使用されないので,注意が必要です
● public Queue getQueue() throws JMSException
キューレシーバに関連づけられたキューのオブジェクトを返します。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.
(C) Copyright International Business Machines Corporation 1994, 1999. All rights reserved.