12.7.5.3 Dequeue(OracleAQDequeueOptions)
このインスタンス・メソッドは、指定されたデキュー・オプションを使用してキューからメッセージをデキューします。
宣言
// C#
public OracleAQMessage Dequeue(OracleAQDequeueOptions dequeueOptions);
パラメータ
-
dequeueOptions
OracleAQDequeueOptions
オブジェクト。
戻り値
デキューされたメッセージを表すOracleAQMessage
インスタンス。
例外
InvalidOperationException
- 接続がオープンされていません。
ObjectDisposedException
- オブジェクトはすでに処理されています。
OracleException
: タイムアウトした場合、「ORA-25228: queue_nameからメッセージをデキュー中に、タイムアウトまたはフェッチ終了になりました。」
というメッセージとともに例外がスローされます。DequeueOptions.Wait
が-1
以外の値に設定されていると、タイムアウトが発生することがあります。
備考
指定したdequeueOptions
オブジェクトがnull
の場合は、デキュー・オプションのデフォルト値が使用されます。この操作では、キュー・オブジェクトのDequeueOptions
プロパティは無視されます。
このメソッドをコールしても、キューのDequeueOptions
プロパティは変更されません。
このファンクションをコールする前にMessageType
プロパティを適切に設定しておく必要があります。MessageType
がOracleAQMessageType.UDT
の場合は、UdtTypeName
プロパティも設定する必要があります。
デキューされたバッファ・メッセージのMessageId
値は常にnull
です。