プライマリ・コンテンツに移動

Oracle® Data Provider for .NET開発者ガイド ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows E88311-03 |
| 目次 | 索引

前 | 次 |

# Listen(OracleConnection, OracleAQAgent[ ], int)

この静的メソッドは、`OracleAQAgent`オブジェクトの配列に指定された1つ以上のコンシューマについて、1つ以上のキューでメッセージをリスニングします。`OracleAQAgent`オブジェクトの`Name`プロパティはコンシューマの名前を表し、`OracleAQAgent`オブジェクトの`Address`プロパティはキューの名前を表します。

タイムアウトした場合、このメソッドは`null`を戻します。

宣言

    // C#
    public static OracleAQAgent Listen(OracleConnection con, OracleAQAgent[]
      listenConsumers, int waitTime);

パラメータ

- `con`

  `OracleConnection`インスタンス。

- `listenConsumers`

  リスニングされるコンシューマの配列。単一コンシューマ・キューの場合は、`OracleAQAgent`オブジェクトの名前を`null`または空にする必要があります。

- `waitTime`

  待機時間(秒)。

戻り値

`OracleAQAgent`オブジェクト。

例外

`ArgumentNullException` - `con`または`listenConsumers`パラメータがnullです。

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

`ArgumentException` - `waitTime`が-1未満です。

備考

`Listen`は、いずれかのキューでコンシューマがメッセージを使用できるようになるまで複数のキューを監視する必要がある場合に便利です。`OracleAQAgent`オブジェクトの`Name`プロパティはコンシューマの名前を表し、`OracleAQAgent`オブジェクトの`Address`プロパティはキューの名前を表します。

`waitTime`が`-1`の場合、待機時間は無限です。

このコールは、リスト内のコンシューマがメッセージを消費できるようになるまでコール元のスレッドをブロックします。このコールは、デキュー可能になったメッセージのコンシューマとキューを指定する`OracleAQAgent`オブジェクトを戻します。

関連項目:

- Oracle.DataAccess.ClientおよびOracle.ManagedDataAccess.Clientのネームスペース

- OracleAQQueueクラス

- OracleAQQueueメンバー