OracleAQDequeueOptionsオブジェクトは、OracleAQQueueオブジェクトからメッセージをデキューする際に使用できるオプションを表します。
クラスの継承
System.Object
OracleAQDequeueOptions
宣言
// C# public sealed class OracleAQDequeueOptions : ICloneable
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
要件
ネームスペース: Oracle.DataAccess.Client
アセンブリ: Oracle.DataAccess.dll
ODP.NETのバージョン: ODP.NET for .NET Framework 2.0またはODP.NET for .NET Framework 4
OracleAQDequeueOptionsメンバーを、次の各表に示します。
OracleAQDequeueOptionsコンストラクタ
OracleAQDequeueOptionsコンストラクタを、表12-4にリストします。
OracleAQDequeueOptionsプロパティ
OracleAQDequeueOptionsプロパティを、表12-5にリストします。
表12-5 OracleAQDequeueOptionsプロパティ
| プロパティ | 説明 |
|---|---|
|
|
メッセージをデキューするコンシューマ名を指定します |
|
|
デキューされるメッセージの相関識別子を指定します |
|
|
デキューされるメッセージの予定配信モードを指定します |
|
|
デキュー操作に関連付けられたロック動作を指定します |
|
|
デキューされるメッセージのメッセージ識別子を指定します |
|
|
取り出されるメッセージの位置を指定します |
|
|
デキューされたメッセージのペイロードをODP.NET固有のタイプとして提供するか、.NETタイプとして提供するかを指定します |
|
|
新規メッセージを現行トランザクションの一部としてデキューするかどうかを指定します |
|
|
検索条件に一致するメッセージの待機時間(秒)を指定します |
OracleAQDequeueOptionsパブリック・メソッド
OracleAQDequeueOptionsパブリック・メソッドを、表12-6にリストします。
OracleAQDequeueOptionsコンストラクタは、OracleAQDequeueOptionsクラスのインスタンスを作成し、すべてのプロパティをデフォルト値に設定します。
宣言
// C# public OracleAQDequeueOptions();
OracleAQDequeueOptionsプロパティを、表12-7にリストします。
表12-7 OracleAQDequeueOptionsプロパティ
| プロパティ | 説明 |
|---|---|
|
|
メッセージをデキューするコンシューマ名を指定します |
|
|
デキューされるメッセージの相関識別子を指定します |
|
|
デキューされるメッセージの予定配信モードを指定します |
|
|
デキュー操作に関連付けられたロック動作を指定します |
|
|
デキューされるメッセージのメッセージ識別子を指定します |
|
|
取り出されるメッセージの位置を指定します |
|
|
デキューされたメッセージのペイロードをODP.NET固有のタイプとして提供するか、.NETタイプとして提供するかを指定します |
|
|
新規メッセージを現行トランザクションの一部としてデキューするかどうかを指定します |
|
|
検索条件に一致するメッセージの待機時間(秒)を指定します |
このインスタンス・プロパティは、メッセージをデキューするコンシューマ名を指定します。
宣言
// C#
public string ConsumerName {get;set;}
プロパティ値
string
備考
ConsumerNameプロパティは、コンシューマ名に一致するメッセージにのみアクセスします。キューが複数コンシューマ用に設定されていない場合、このフィールドはnullに設定してください。
このインスタンス・プロパティは、デキューされるメッセージの相関識別子を指定します。
宣言
// C#
public string Correlation {get;set;}
プロパティ値
string
備考
このプロパティは、デキューされるメッセージの識別情報を指定します。パーセント記号(%)やアンダースコア(_)などの特殊なパターン一致文字を使用できます。複数のメッセージがパターンに一致する場合、デキューの順序は決まりません。
Correlationの最大長は128です。
MessageIdとCorrelationはまったく異なる識別子です。MessageIdは1つのメッセージに1対1で対応しますが、Correlationにはメッセージのグループを割り当てることができます。また、パターン一致はCorrelationでのみ可能です。
このインスタンス・プロパティは、デキューされるメッセージの予定配信モードを指定します。
宣言
// C#
public OracleAQMessageDeliveryMode DeliveryMode {get;set;}
プロパティ値
OracleAQMessageDeliveryModeの列挙値。
備考
このプロパティは、デキューされるメッセージのタイプを指定します。永続メッセージとバッファ・メッセージのいずれか、またはその両方をキューからデキューするように設定できます。有効な値は次のとおりです。
OracleAQMessageDeliveryMode.Persistent
OracleAQMessageDeliveryMode.Buffered
OracleAQMessageDeliveryMode.PersistentOrBuffered
デフォルト値はOracleAQMessageDeliveryMode.Persistentです。
バッファ・メッセージングは、8.1以上のデータベース互換性レベルで作成されたすべてのキュー表でサポートされます。
このインスタンス・プロパティは、デキュー操作に関連付けられたロック動作を指定します。
宣言
// C#
public OracleAQDequeueMode DequeueMode {get;set;}
プロパティ値
OracleAQDequeueModeの列挙値。
例外
ArgumentOutOfRangeException - 指定したDequeueMode値が無効です。
備考
デフォルト値はOracleAQDequeueMode.Removeです。
このインスタンス・プロパティは、デキューされるメッセージのメッセージ識別子を指定します。
宣言
// C#
public byte[] MessageId {get;set;}
プロパティ値
byte[ ]。
備考
デキュー操作が成功するのは、デキューされるメッセージのメッセージIDが指定したメッセージIDと一致する場合のみです。
このインスタンス・プロパティは、取り出されるメッセージの位置を指定します。
宣言
// C#
public OracleAQNavigationMode NavigationMode {get;set;}
プロパティ値
OracleAQNavigationModeの列挙値。
例外
ArgumentOutOfRangeException - 指定したNavigationMode値が無効です。
備考
デフォルト値はOracleAQNavigationMode.NextMessageです。
このプロパティは、デキューされたメッセージのペイロードをODP.NET固有のタイプとして提供するか、.NETタイプとして提供するかを指定します。
宣言
// C#
public bool ProviderSpecificType {get;set;}
プロパティ値
bool。
備考
このプロパティのデフォルト値はfalseです。このプロパティがペイロード・タイプに与える影響については、OracleAQQueueクラスの「MessageType」を参照してください。
このインスタンス・プロパティは、新規メッセージを現行トランザクションの一部としてデキューするかどうかを指定します。
宣言
// C#
public OracleAQVisibilityMode Visibility {get;set;}
プロパティ値
OracleAQVisibilityModeの列挙値。
例外
ArgumentOutOfRangeException - 指定したVisibility値が無効です。
備考
デフォルト値はOracleAQVisibilityMode.OnCommitです。このプロパティのデフォルト値を使用する場合、トランザクションを使用する必要があります。これにより、アプリケーションでメッセージが失われることがなくなり、メッセージはデキュー操作が正常に完了してから適切にキューから削除されます。デフォルトの可視性モードOracleAQVisibilityMode.OnCommitを使用する際にトランザクションを使用しない場合、メッセージはキューから削除されません。
別の可視性モードの値OracleAQVisibilityMode.Immediateを使用する場合、トランザクションの作成、コミットおよびロールバックは不要になります。ただし、デキュー操作中にエラーが発生した場合、メッセージが失われる可能性があります。
DequeueModeがOracleAQDequeueMode.Browseに設定されている場合、可視性パラメータは無視されます。
このインスタンス・プロパティは、検索条件に一致するメッセージの待機時間(秒)を指定します。
宣言
// C#
public int Wait {get;set;}
プロパティ値
任意の正のinteger値、0、-1のいずれか。
例外
ArgumentOutOfRangeException - 指定したWait値が無効です。
備考
デフォルト値は-1で、無限に待機することを意味します。有効な値は次のとおりです。
正の整数: 待機時間(秒)。
-1: 永久に待機します。
0: 待機しません。
-1より小さい値を指定すると、ArgumentOutOfRangeExceptionが発生します。
同じグループのメッセージがデキューされる場合、このパラメータは無視されます。
OracleAQDequeueOptionsパブリック・メソッドを、表12-8にリストします。