13.24 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()

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

13.24.1 Producer()

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

構文 説明
Producer(
   const Connection *conn);

指定したConnectionを使用してProducerオブジェクトを作成します。

Producer(
   const Connection *conn,
   const string& queue);

指定したConnectionとキュー名を使用してProducerオブジェクトを作成します。

パラメータ 説明
conn

新規Producerオブジェクトの接続を指定します。

queue

新規Producerオブジェクトで使用されるキューを指定します。

13.24.2 getQueueName()

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

構文

string getQueueName() cosnt;

13.24.3 getRelativeMessageId()

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

構文

Bytes getRelativeMessageId() const;

13.24.4 getSequenceDeviation()

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

構文

EnqueueSequence getSequenceDeviation() const;

13.24.5 getTransformation()

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

構文

string getTransformation() const;

13.24.6 getVisibility()

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

構文

Visibility getVisibility() const;

13.24.7 isNull()

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

構文

bool isNull() const;

13.24.8 operator=()

Producerの代入演算子です。

構文

void operator=(
   const Producer& prod);
パラメータ 説明
prod

オリジナルのProducerオブジェクトです

13.24.9 send()

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

構文 説明
Bytes send(
   Message& msg);

前にsetQueueName()メソッドでqueueNameを設定している場合に使用されます。

Bytes send(
   Message& msg,
   string& queue);

Messageを指定したqueueNameにエンキューします。

パラメータ 説明
msg

エンキューするMessageを指定します。

queue

データベース内で有効なキューの名前を指定します。

13.24.10 setNull()

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

構文

void setNull();

13.24.11 setQueueName()

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

構文

void setQueueName(
   const string& queue);
パラメータ 説明
queue

Messageをエンキューする、データベース内で有効なキューの名前を指定します。

13.24.12 setRelativeMessageId()

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

構文

void setRelativeMessageId(
   const Bytes& msgid);
パラメータ 説明
msgid

Messageの相対IDを指定します。

13.24.13 setSequenceDeviation()

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

構文

void setSequenceDeviation(
   EnqueueSequence option);
パラメータ 説明
option

設定するエンキューの順序の定義は、表13-33を参照してください。

13.24.14 setTransformation()

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

構文

void setTransformation(
   string &fName);
パラメータ 説明
fName

SQL変換関数を指定します。

13.24.15 setVisibility()

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

構文

void setVisibility(
   Visibility option);
パラメータ 説明
option

設定するVisibilityオプションの定義は、表13-33を参照してください。