DequeueArray(int, OracleAQDequeueOptions)

このインスタンス・メソッドは、指定されたデキュー・オプションを使用してキューから複数のメッセージをデキューします。

ノート:

JSONペイロードはサポートされていません。

宣言

// C#
public OracleAQMessage[] DequeueArray(int dequeueCount, OracleAQDequeueOptions dequeueOptions);

パラメータ

  • dequeueCount

    デキューするメッセージの数を指定するinteger

  • dequeueOptions

    OracleAQDequeueOptionsオブジェクト。

戻り値

デキューされたメッセージを表すOracleAQMessageインスタンスの配列。

例外

ArgumentOutOfRangeException - dequeueCountが0以下です。

InvalidOperationException - 接続がオープンされていません。

ObjectDisposedException - オブジェクトはすでに処理されています。

OracleException - タイムアウトした場合、ORA-25228: queue_nameからメッセージをデキュー中に、タイムアウトまたはフェッチ終了になりました。というメッセージとともに例外がスローされます。DequeueOptions.Wait-1以外の値に設定されていると、タイムアウトが発生することがあります。

備考

このメソッドをコールしても、キューのDequeueOptionsプロパティは変更されません。

指定したdequeueOptionsオブジェクトがnullの場合は、デキュー・オプションのデフォルト値が使用されます。この操作では、キュー・オブジェクトのDequeueOptionsプロパティは無視されます。

このファンクションをコールする前にMessageTypeプロパティを適切に設定しておく必要があります。MessageTypeOracleAQMessageType.UDTの場合は、UdtTypeNameプロパティも設定する必要があります。

戻される配列のサイズは、dequeueCountより小さいことがあります。キューに存在するメッセージの実際の数によって異なります。

デキューされたバッファ・メッセージのMessageId値は、データベースのバージョンに関係なく、常にnullです。