メッセージは、エンキューおよびデキューの単位です。Message
オブジェクトは、その内容またはペイロードと、プロパティを保持します。このクラスは、メッセージ・プロパティを取得および設定するメソッドを提供します。
表13-25 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-25を参照してください。
構文
MessageState getMessageState() const;
Message
のオブジェクトのペイロードを取り出します。
構文
PObject* getObject();
オリジナルのメッセージIDを取り出します。あるキューから別のキューにメッセージが伝播されたとき、伝播後のメッセージの生成元メッセージのIDを最後のキューに取得します。
構文
Bytes getOriginalMessageId() const;
ペイロードの型を取り出します。表13-25の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
オブジェクトの移動先キューの名前を指定します。有効なキュー名を指定する必要があります。
移動時に例外キューが存在しなければ、Message
はキュー表に関連付けられているデフォルトの例外キューに移動し、アラート・ログに警告が記録されます。
また、デフォルトの例外キューが使用される場合、パラメータはエンキュー時にNULL
値を戻します。属性では有効なキュー名を参照する必要があります。
構文
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を指定します。 |