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