OracleAQDequeueOptions
オブジェクトは、OracleAQQueue
オブジェクトからメッセージをデキューする際に使用できるオプションを表します。
クラスの継承
System.Object
OracleAQDequeueOptions
宣言
// C# public sealed class OracleAQDequeueOptions : ICloneable
要件
プロバイダ | ODP.NET管理対象外ドライバ |
アセンブリ | Oracle.DataAccess.dll |
ネームスペース | Oracle.DataAccess.Client |
.NET Framework | 3.5, 4.0, 4.5 |
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
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にリストします。