メッセージは、エンキューおよびデキューの単位です。Messageオブジェクトは、その内容またはペイロードと、プロパティを保持します。このクラスは、メッセージ・プロパティを取得および設定するメソッドを提供します。
表13-24 Messageクラスで使用される列挙値
| 属性 | オプション |
|---|---|
MessageState |
|
PayloadType |
|
| メソッド | 概要 |
|---|---|
|
|
|
|
|
メッセージの |
|
|
メッセージのデキュー試行回数を取り出します。 |
|
|
メッセージの |
|
|
識別文字列を取り出します。 |
|
|
メッセージのエンキュー時の遅延を取り出します。 |
|
|
処理できない |
|
|
メッセージの期限切れを取り出します。 |
|
|
メッセージのエンキュー時刻を取り出します。 |
|
|
エンキュー時のメッセージの状態を取り出します。 |
|
|
メッセージのオブジェクトのペイロードを取り出します。 |
|
|
最後のキューでこのメッセージを生成したメッセージのIDを取り出します。 |
|
|
ペイロードの型を取り出します。 |
|
|
メッセージの優先順位を取り出します。 |
|
|
|
|
|
|
|
|
|
|
|
メッセージの |
|
|
メッセージの |
|
|
識別文字列を指定します。 |
|
|
エンキューされた |
|
|
処理できない |
|
|
期限切れになるまでに |
|
|
|
|
|
メッセージのオブジェクトのペイロードを指定します。 |
|
|
|
|
|
|
|
|
メッセージの宛先であるエージェントのリストを指定します。 |
|
|
|
Messageクラスのコンストラクタです。
| 構文 | 説明 |
|---|---|
Message(
const Environment *env);
|
指定されたEnvironment内でMessageオブジェクトを作成します。 |
Message( const Message& mes); |
コピー・コンストラクタです。 |
| パラメータ | 説明 |
|---|---|
env |
Messageの環境を指定します。 |
mes |
オリジナルのMessageオブジェクトです。 |
MessageのAnyDataのペイロードを取り出します。
構文
AnyData getAnyData() const;
メッセージのデキュー試行回数を取り出します。エンキュー時には、このプロパティを取り出せません。
構文
int getAttemptsToDequeue() const;
MessageのBytesのペイロードを取り出します。
構文
Bytes getBytes() const;
識別文字列を取り出します。
構文
string getCorrelationId() const;
Messageのエンキュー時の遅延秒数を取り出します。
構文
int getDelay() const;
Messageを正常に処理できない場合に、Messageの移動先となるキューの名前を取り出します。
構文
string getExceptionQueueName() const;
Messageの有効期間(秒数)を取り出します。この期間中はメッセージをデキューできます。
構文
int getExpiration() const;
メッセージのエンキュー時刻をDate書式で取り出します。この値はシステムにより決定され、ユーザーは設定できません。
構文
Date getMessageEnqueuedTime() const;
エンキュー時のメッセージの状態を取り出します。このパラメータではエンキュー時刻を設定できません。MessageStateの定義は、表13-24を参照してください。
構文
MessageState getMessageState() const;
Messageのオブジェクトのペイロードを取り出します。
構文
PObject* getObject();
オリジナルのメッセージIDを取り出します。あるキューから別のキューにメッセージが伝播されたとき、伝播後のメッセージの生成元メッセージのIDを最後のキューに取得します。
構文
Bytes getOriginalMessageId() const;
ペイロードの型を取り出します。表13-24のPayloadTypeを参照してください。
構文
PayloadType getPayloadType( ) const;
Messageの優先順位を取り出します。
構文
int getPriority() const;
Messageを送信したエージェントを取り出します。
構文
Agent getSenderId() const;
MessageオブジェクトがNULLかどうかをテストします。MessageオブジェクトがNULLの場合はTRUEを、それ以外の場合はFALSEを戻します。
構文
bool isNull() const;
Messageの代入演算子です。
void operator=( const Message& mes);
| パラメータ | 説明 |
|---|---|
mes |
オリジナルのメッセージを指定します。 |
MessageのAnyDataのペイロードを指定します。
構文
void setAnyData( const AnyData& anydata);
| パラメータ | 説明 |
|---|---|
anydata |
Messageのデータの内容を指定します。 |
MessageのBytesのペイロードを指定します。
構文
void setBytes( const Bytes& bytes);
| パラメータ | 説明 |
|---|---|
bytes |
Messageのデータの内容を指定します。 |
識別文字列を指定します。このパラメータは、エンキュー時にProducerにより設定されます。メッセージは、このIDを使用してデキューできます。IDには、ワイルドカード文字を含めることができます。
構文
void setCorrelationId( const string& id);
| パラメータ | 説明 |
|---|---|
id |
IDを指定します。上限は128バイトです。 |
エンキューされたMessageの遅延秒数を指定します。遅延終了後は、Messageをデキューできます。
|
注意: msgidによりデキューする場合は、遅延指定がオーバーライドされます。遅延付きでエンキューされたMessageは、WAITING状態になります。遅延は、Messageのプロデューサにより設定されます。 |
構文
void setDelay( int delay);
| パラメータ | 説明 |
|---|---|
delay |
遅延を指定します。 |
正常に処理できないMessageオブジェクトの移動先キューの名前を指定します。有効なキュー名を指定する必要があります。
|
注意:
|
構文
void setExceptionQueueName( const string& queue);
| パラメータ | 説明 |
|---|---|
queue |
例外キューの名前を指定します。 |
Messageオブジェクトをデキューできる有効期間を秒単位で指定します。この期間をすぎると、Messageは期限切れになります。
構文
void setExpiration( int exp);
| パラメータ | 説明 |
|---|---|
exp |
有効期間を指定します。 |
MessageオブジェクトをNULLに設定します。EnvironmentクラスのterminateConnection()のコールによりConnectionが破棄される前に、すべてのMessageオブジェクトをNULLに設定する必要があります。
構文
void setNull();
Messageのオブジェクトのペイロードを指定します。
構文
void setObject( PObject& pobj);
| パラメータ | 説明 |
|---|---|
pobj |
データの内容を指定します。 |
あるキューから別のキューにメッセージが伝播されたとき、伝播後のメッセージの生成元メッセージのIDを最後のキューに設定します。
構文
void setOriginalMessageId( const Bytes& queue);
| パラメータ | 説明 |
|---|---|
queue |
最後のキューを指定します。 |
Messageオブジェクトの優先順位を指定します。この優先順位はエンキュー時に設定され、負の値に設定できます。デフォルトは0(ゼロ)です。
構文
void setPriority( int priority);
| パラメータ | 説明 |
|---|---|
priority |
Messageの優先順位を指定します。 |
Messageの宛先であるAgentのリストを指定します。これらの受信者は、キューのサブスクライバとは異なります。このプロパティはエンキュー時に設定されます。リスト内のAgentがすべて有効である必要があります。受信者リストによりデフォルトのサブスクライバ・リストがオーバーライドされます。
構文
void setRecipientList( vector<Agent>& agentList);
| パラメータ | 説明 |
|---|---|
agentList |
Agentのリストを指定します。 |
Messageの送信者を指定します。
構文
void setSenderId( const Agent& sender);
| パラメータ | 説明 |
|---|---|
sender |
送信者IDを指定します。 |