ConsumerクラスはMessageのデキューをサポートし、デキュー・オプションを制御します。
表13-14 Consumerクラスで使用される列挙値
| 属性 | オプション |
|---|---|
DequeMode |
|
Navigation |
|
Visibility |
|
DequeWaitOption |
|
| メソッド | 説明 |
|---|---|
|
|
|
|
|
|
|
|
デキューするメッセージの相関識別子を取得します。 |
|
|
|
|
|
デキューされるメッセージのIDを取得します。 |
|
|
コンシューマで使用するキューの名前を取得します。 |
|
|
デキューされるメッセージの位置を取得します。 |
|
|
|
|
|
デキュー操作のトランザクション動作を取得します。 |
|
|
検索基準と一致する |
|
|
|
|
|
|
|
|
|
|
|
コンシューマの |
|
|
|
|
|
デキューされるメッセージの相関識別子を指定します。 |
|
|
デキューに関連付けられているロック動作を指定します。 |
|
|
デキューする |
|
|
|
|
|
取得する |
|
|
|
|
|
|
|
|
|
|
|
基準と一致する |
Consumerクラスのコンストラクタです。
| 構文 | 説明 |
|---|---|
Consumer( const Connection *conn); |
指定したConnectionハンドルを使用して新規のConsumerオブジェクトを作成します。 |
Consumer( const Connection *conn const Agent& agent); |
指定したConnectionと指定したAgentのプロパティを使用して、新規のConsumerオブジェクトを作成します。 |
Consumer( const Connection *conn, const string& queue); |
指定したConnectionとキューを使用して新規のConsumerオブジェクトを作成します。 |
Consumer( const Consumer& consumer); |
コピー・コンストラクタです。 |
| パラメータ | 説明 |
|---|---|
conn |
Consumerの作成に使用する接続を指定します。 |
agent |
Consumerに割り当てるエージェントを指定します。 |
queue |
Consumerがメッセージを取り出すキューを指定します。 |
consumer |
オリジナルのConsumerオブジェクトです。 |
Consumerの名前を取得します。
構文
string getConsumerName() const;
デキューするメッセージの相関識別子を取得します。
構文
string geCorrelationId() const;
Consumerのデキュー・モードを取得します。DequeueModeの定義は、表13-14を参照してください。
構文
DequeueMode getDequeueMode() const;
デキューされるメッセージのIDを取得します。
構文
Bytes getMessageToDequeue() const;
デキューされるメッセージの位置またはナビゲーションを取得します。Navigationの定義は、表13-14を参照してください。
構文
Navigation getPositionOfMessage() const;
コンシューマで使用するキューの名前を取得します。
構文
string getQueueName() const;
Messageのデキュー前に適用された変換を取得します。
構文
string getTransformation() const;
デキュー操作のトランザクション動作または可視性を取得します。Visibilityの定義は、表13-14を参照してください。
構文
Visibility getVisibility() const;
検索基準と一致するMessageを待機するときの、Consumerの指定の動作を取得します。DequeWaitOptionの定義は、表13-14を参照してください。
構文
DequeWaitOption getWaitTime() const;
ConsumerオブジェクトがNULLかどうかをテストします。ConsumerオブジェクトがNULLの場合はTRUEを、それ以外の場合はFALSEを戻します。
構文
bool isNull() const;
Consumerクラスの代入演算子です。
構文
void operator=( const Consumer& consumer);
| パラメータ | 説明 |
|---|---|
consumer |
オリジナルのConsumerです。 |
Messageを受信してデキューします。
構文
Message receive( Message::PayloadType pType, const string& type="", const string& schema="");
| パラメータ | 説明 |
|---|---|
pType |
受信するペイロードの型を指定します。ペイロードの型の定義は、表13-24を参照してください。 |
type |
typeがOBJECTの場合の、ペイロードの型を指定します。 |
schema |
型が定義されているスキーマを指定します(pTypeがOBJECTの場合)。 |
コンシューマのAgentの名前とアドレス(キュー名)を設定します。
構文
void setAgent( const Agent& agent);
| パラメータ | 説明 |
|---|---|
agent |
Agentの名前を指定します。 |
Consumerの名前を設定します。コンシューマ名が一致するメッセージにのみアクセスできます。キューが複数のコンシューマ用に設定されていない場合は、このオプションをNULLに設定する必要があります。
構文
void setConsumerName( const string& name);
| パラメータ | 説明 |
|---|---|
name |
Consumerの名前を指定します。 |
デキューされるメッセージの相関識別子を指定します。パーセント記号(%)やアンダースコア(_)など、特殊なパターン一致文字を使用できます。複数のメッセージがパターンと一致する場合、デキュー順序は不定になります。
構文
void setCorrelationId const string& id);
| パラメータ | 説明 |
|---|---|
id |
Messageの識別子を指定します。 |
デキューに関連付けられているロック動作を指定します。
構文
void setDequeueMode( DequeueMode mode);
| パラメータ | 説明 |
|---|---|
mode |
デキュー動作を指定します。DequeModeの定義は、表13-14を参照してください。 |
デキューするMessageの識別子を指定します。
構文
void setMessageIdToDequeue( const Bytes& msgid);
| パラメータ | 説明 |
|---|---|
msgid |
デキューするMessageの識別子を指定します。 |
ConsumerをNULLに設定します。このオブジェクトに関連付けられているメモリーを解放します。
構文
void setNull();
取得するMessageの位置を指定します。
構文
void setPositionOfMessage( Navigation pos);
| パラメータ | 説明 |
|---|---|
pos |
メッセージの位置、Navigationの定義は、表13-14を参照してください。 |
Messageのデキュー前にキューの名前を指定します。通常は、同じキューから複数のメッセージをデキューする場合に使用します。
構文
void setQueueName( const string& queue);
| パラメータ | 説明 |
|---|---|
queue |
データベース内で有効なキューの名前を指定します。 |
Messageのデキュー前に適用される変換を指定します。
構文
void setTransformation( string &fName);
| パラメータ | 説明 |
|---|---|
fName |
SQL変換関数を指定します。 |
Messageを現行のトランザクションの一部としてデキューする必要があるかどうかを指定します。DEQ_BROWSEモードの場合、可視性パラメータは無視されます。
構文
void setVisibility( Visibility option);
| パラメータ | 説明 |
|---|---|
option |
設定するVisibilityオプションの定義は、表13-14を参照してください。 |
基準と一致するMessageがない場合の待機条件を指定します。同じグループのメッセージをデキューする場合、waitパラメータは無視されます。
構文
void setWaitTime( DequeWaitOption wait);
| パラメータ | 説明 |
|---|---|
wait |
待機条件を指定します。DequeWaitOptionの定義は、表13-14を参照してください。 |