OracleNotificationRequestクラスは、データベース内でサブスクライブする通知要求を表します。このクラスには、要求に関する情報と通知の特性が含まれます。OracleNotificationRequestクラスを使用して、Oracle Data Provider for .NETは適宜データベース内に通知登録を作成できます。
クラスの継承
System.Object
Oracle.DataAccess.Client.OracleNotificationRequest
宣言
// C# public sealed class OracleNotificationRequest
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、メソッドではスレッド安全性は保証されません。
要件
ネームスペース: Oracle.DataAccess.Client
アセンブリ: Oracle.DataAccess.dll
ODP.NETのバージョン: ODP.NET for .NET Framework 2.0またはODP.NET for .NET Framework 4
コメント: .NETストアド・プロシージャではサポートされません
OracleNotificationRequestメンバーは次の表にリストされています。
OracleNotificationRequest静的メソッド
OracleNotificationRequest静的メソッドを、表9-12にリストします。
OracleNotificationRequestプロパティ
OracleNotificationRequestプロパティを、表9-13にリストします。
表9-13 OracleNotificationRequestプロパティ
| プロパティ | 説明 |
|---|---|
|
|
通知時に登録が削除されるかどうかを示します。 |
|
|
配信の前に、通知メッセージを永続的にデータベースのキューに入れる必要があるかどうかを示します |
|
|
登録が存続する時間を指定します。 |
|
|
グループ化通知が有効かどうかを指定します |
|
|
グループ化通知のタイプを指定します |
|
|
グループ化通知の間隔(秒)を指定します |
OracleNotificationRequestメソッド
OracleNotificationRequestメソッドを、表9-14にリストします。
OracleNotificationRequestプロパティを、表9-16にリストします。
表9-16 OracleNotificationRequestプロパティ
| プロパティ | 説明 |
|---|---|
|
|
通知時に登録が削除されるかどうかを示します。 |
|
|
配信の前に、通知メッセージを永続的にデータベースのキューに入れる必要があるかどうかを示します |
|
|
登録が存続する時間を指定します。 |
|
|
グループ化通知が有効かどうかを指定します |
|
|
グループ化通知のタイプを指定します |
|
|
グループ化通知の間隔(秒)を指定します |
このプロパティは、通知時に登録が削除されるかどうかを示します。
宣言
// C#
public bool IsNotifiedOnce{get; set;}
プロパティ値
通知時に登録が削除されるかどうかを示すbool値
備考
デフォルト値は、AQの場合はfalseです。これは、デフォルト値がtrueである変更通知とは異なります。
正常な登録の完了後にこのプロパティを変更しても効果はありません。
このプロパティは、通知メッセージが配信されるまで、そのメッセージを永続的にデータベースのキューに入れる必要があるかどうかを示します。
宣言
// C#
public bool IsPersistent{get; set;}
プロパティ値
通知が配信されるまで、その通知を永続的にデータベースに格納する必要があるかどうかを示すbool値。
IsPersistentプロパティがTrueに設定されている場合、メッセージは永続的にデータベースのキューに入れられ、データベースのクラッシュ時または停止時に失われることはありません。IsPersistentプロパティがFalseに設定されている場合、メッセージは配信の前にメモリー・キューに格納されるので、失われる可能性があります。
このプロパティは、常に永続性のあるNotificationRegistrationには適用されません。
このプロパティは、通知メッセージが送信された後、そのメッセージにのみ適用されます。
備考
デフォルト値はfalseです。
メッセージがメモリー・キューに格納された場合、データベース・キューの場合よりもデータベースは高速で動作します。
正常な登録の完了後にこのプロパティを変更しても効果はありません。
このプロパティは、グループ化通知については無視されます。
このプロパティは、登録が存続する時間を秒単位で指定します。
宣言
// C#
public long Timeout{get; set}
プロパティ値
登録が存続する時間を秒単位で指定するlong値。Timeoutプロパティの有効値は0から4294967295です。
例外
ArgumentOutOfRangeException - 指定されたTimeout値が無効です。
備考
デフォルト値は、AQの場合は0(無限)、変更通知の場合は50000です。Timeoutプロパティが0に設定されている場合、登録が期限切れになることはありません。
Timeout値に達したために登録が削除されると、データベースは期限切れを示す通知を送信します。
正常な登録の完了後にこのプロパティを変更しても効果はありません。
このプロパティは、グループ化通知が有効かどうかを指定します。
宣言
// C#
public bool GroupingNotificationEnabled {get; set}
プロパティ値
グループ化通知が有効であることを示すtrue値。グループ化通知が無効であることを示すfalse値。
備考
デフォルト値はfalseです。
正常な登録の完了後にこのプロパティを変更しても効果はありません。
このプロパティは、グループ化通知のタイプを指定します。
宣言
// C#
public OracleAQNotificationGroupingType GroupingType {get; set}
プロパティ値
OracleAQNotificationGroupingTypeの列挙値
備考
デフォルト値はOracleAQNotificationGroupingType.Summaryです。
正常な登録の完了後にこのプロパティを変更しても効果はありません。
OracleNotificationRequestメソッドを、表9-17にリストします。