ヘッダーをスキップ
Oracle® C++ Call Interfaceプログラマーズ・ガイド,
11g リリース2 (11.2)
B72452-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

Producerクラス

Producerは、Messageをエンキューしてエンキュー・オプションを定義します。

表13-33 Producerクラスで使用される列挙値

属性 オプション
EnqueueSequence
  • ENQ_BEFOREは、メッセージが、関連メッセージIDで指定したメッセージの前にエンキューされることを示します。

  • ENQ_TOPは、メッセージが他のすべてのメッセージの前にエンキューされることを示します。

Visibility
  • ENQ_IMMEDIATEは、エンキューを現行のトランザクションの一部にしないことを示します。操作は固有のトランザクションを構成します。

  • ENQ_ON_COMMITは、エンキューを現行のトランザクションの一部にすることを示します。トランザクションのコミット時に操作が完了します。これは、デフォルト設定です。


表13-34 Producerメソッドの概要

メソッド 概要

Producer()


Producerクラスのコンストラクタです。

getQueueName()


Messageがエンキューされるキューの名前を取り出します。

getRelativeMessageId()


順序逸脱操作で参照されるMessageのIDを取得します。

getSequenceDeviation()


Messageをキューにある他のMessageの前にデキューする必要があるかどうかを示す情報を取得します。

getTransformation()


Messageのエンキュー前に適用される変換を取得します。

getVisibility()


エンキュー要求のトランザクション動作を取得します。

isNull()


ProducerNULLかどうかをテストします。

send()


Messageをエンキューして送信します。

operator=()


Producerの代入演算子です。

setNull()


Producerのスコープがその作成に使用されたConnectionを超えている場合はメモリーを解放します。

setQueueName()


Messageがエンキューされるキューの名前を指定します。

setRelativeMessageId()


順序逸脱操作で参照されるMessageのIDを指定します。

setSequenceDeviation()


Messageをキューにある他のMessageの前にデキューする必要があるかどうかを指定します。

setTransformation()


Messageのエンキュー前に適用される変換を指定します。

setVisibility()


エンキュー要求のトランザクション動作を指定します。



Producer()

Producerオブジェクトのコンストラクタです。

構文 説明
Producer(
   const Connection *conn);
指定したConnectionを使用してProducerオブジェクトを作成します。
Producer(
   const Connection *conn,
   const string& queue);
指定したConnectionとキュー名を使用してProducerオブジェクトを作成します。

パラメータ 説明
conn
新規Producerオブジェクトの接続を指定します。
queue
新規Producerオブジェクトで使用されるキューを指定します。


getQueueName()

Messageがエンキューされるキューの名前を取り出します。

構文

string getQueueName() cosnt;

getRelativeMessageId()

順序逸脱操作で参照されるMessageのIDを取得します。順序逸脱が指定されている場合にのみ使用します。それ以外の場合は無視されます。

構文

Bytes getRelativeMessageId() const;

getSequenceDeviation()

Messageをキューにある他のMessageの前にデキューする必要があるかどうかを示す情報を取得します。有効な戻り値は、ENQ_BEFOREおよびENQ_TOPです(表13-33の定義を参照)。

構文

EnqueueSequence getSequenceDeviation() const;

getTransformation()

Messageのエンキュー前に適用される変換を取得します。

構文

string getTransformation() const;

getVisibility()

エンキュー要求のトランザクション動作を取得します。Visibilityの定義は、表13-33を参照してください。

構文

Visibility getVisibility() const;

isNull()

ProducerNULLかどうかをテストします。ProducerNULLの場合はTRUEを、それ以外の場合はFALSEを戻します。

構文

bool isNull() const;

operator=()

Producerの代入演算子です。

構文

void operator=(
   const Producer& prod);
パラメータ 説明
prod
オリジナルのProducerオブジェクトです。


send()

Messageをエンキューして送信します。

構文 説明
Bytes send(
   Message& msg);
前にsetQueueName()メソッドでqueueNameを設定している場合に使用されます。
Bytes send(
   Message& msg,
   string& queue);
Messageを指定したqueueNameにエンキューします。

パラメータ 説明
msg
エンキューするMessageを指定します。
queue
データベース内で有効なキューの名前を指定します。


setNull()

Producerに関連付けられているメモリーを解放します。インナー・スコープで操作中の場合を除き、このコールはConnectionを終了する前に行う必要があります。

構文

void setNull();

setQueueName()

Messageがエンキューされるキューの名前を指定します。通常は、同じキューに複数のメッセージをエンキューするときに使用します。

構文

void setQueueName(
   const string& queue);
パラメータ 説明
queue
Messageをエンキューする、データベース内で有効なキューの名前を指定します。


setRelativeMessageId()

順序逸脱操作で参照されるMessageのIDを指定します。順序逸脱を指定していない場合、このパラメータは無視されます。Messageのエンキューごとに設定できます。

構文

void setRelativeMessageId(
   const Bytes& msgid);
パラメータ 説明
msgid
Messageの相対IDを指定します。


setSequenceDeviation()

エンキュー対象のMessageを、キューにある他のMessageの前にデキューする必要があるかどうかを指定します。Messageのエンキューごとに設定できます。

構文

void setSequenceDeviation(
   EnqueueSequence option);
パラメータ 説明
option
設定するエンキューの順序の定義は、表13-33を参照してください。


setTransformation()

Messageのエンキュー前に適用される変換関数を指定します。

構文

void setTransformation(
   string &fName);
パラメータ 説明
fName
SQL変換関数を指定します。


setVisibility()

エンキュー要求のトランザクション動作を指定します。Messageのエンキューごとに設定できます。

構文

void setVisibility(
   Visibility option);
パラメータ 説明
option
設定するVisibilityオプションの定義は、表13-33を参照してください。