DequeueArray(int, OracleAQDequeueOptions)
このインスタンス・メソッドは、指定されたデキュー・オプションを使用してキューから複数のメッセージをデキューします。
ノート:
JSONペイロードはサポートされていません。
宣言
// C# public OracleAQMessage[] DequeueArray(int dequeueCount, OracleAQDequeueOptions dequeueOptions);
パラメータ
-
dequeueCountデキューするメッセージの数を指定する
integer。 -
dequeueOptionsOracleAQDequeueOptionsオブジェクト。
戻り値
デキューされたメッセージを表すOracleAQMessageインスタンスの配列。
例外
ArgumentOutOfRangeException - dequeueCountが0以下です。
InvalidOperationException - 接続がオープンされていません。
ObjectDisposedException - オブジェクトはすでに処理されています。
OracleException - タイムアウトした場合、ORA-25228: queue_nameからメッセージをデキュー中に、タイムアウトまたはフェッチ終了になりました。というメッセージとともに例外がスローされます。DequeueOptions.Waitが-1以外の値に設定されていると、タイムアウトが発生することがあります。
備考
このメソッドをコールしても、キューのDequeueOptionsプロパティは変更されません。
指定したdequeueOptionsオブジェクトがnullの場合は、デキュー・オプションのデフォルト値が使用されます。この操作では、キュー・オブジェクトのDequeueOptionsプロパティは無視されます。
このファンクションをコールする前にMessageTypeプロパティを適切に設定しておく必要があります。MessageTypeがOracleAQMessageType.UDTの場合は、UdtTypeNameプロパティも設定する必要があります。
戻される配列のサイズは、dequeueCountより小さいことがあります。キューに存在するメッセージの実際の数によって異なります。
デキューされたバッファ・メッセージのMessageId値は、データベースのバージョンに関係なく、常にnullです。