Message オブジェクトは、アプリケーションが送信または受信するメッセージを表します。
xms::PropertyContext | +----xms::Message
Message オブジェクトの JMS メッセージ・ヘッダー・フィールドのリストについては、XMS メッセージのヘッダー・フィールドを参照してください。 Message オブジェクトの JMS 定義プロパティーのリストについては、メッセージの JMS 定義プロパティーを参照してください。 Message オブジェクトの IBM 定義プロパティーのリストについては、メッセージの IBM 定義プロパティーを参照してください。
メソッド | 説明 |
---|---|
~Message | メッセージを削除します。 |
acknowledge | このメッセージと、セッションが以前に受信して、まだ応答していないすべてのメッセージに応答します。 |
clearBody | メッセージの本体をクリアします。 |
clearProperties | メッセージのプロパティーをクリアします。 |
getHandle | C アプリケーションがメッセージにアクセスするときに使用するハンドルを取得します。 |
getJMSCorrelationID | メッセージの相関 ID を取得します。 |
getJMSDeliveryMode | メッセージの送達モードを取得します。 |
getJMSDestination | メッセージ宛先を取得します。 |
getJMSExpiration | メッセージの有効期限切れ時刻を取得します。 |
getJMSMessageID | メッセージのメッセージ ID を取得します。 |
getJMSPriority | メッセージの優先順位を取得します。 |
getJMSRedelivered | メッセージが再配信されるかどうかの標識を取得します。 |
getJMSReplyTo | メッセージに対する応答が送信される宛先を取得します。 |
getJMSTimestamp | メッセージが送信された時刻を取得します。 |
getJMSType | メッセージのタイプを取得します。 |
getProperties | メッセージのプロパティーのリストを取得します。 |
isNull | Message オブジェクトがヌル・オブジェクトであるかどうかを判別します。 |
propertyExists | メッセージに、指定された名前のプロパティーがあるかどうかを検査します。 |
setJMSCorrelationID | メッセージの相関 ID を設定します。 |
setJMSDeliveryMode | メッセージの送達モードを設定します。 |
setJMSDestination | メッセージ宛先を設定します。 |
setJMSExpiration | メッセージの有効期限切れ時刻を設定します。 |
setJMSMessageID | メッセージのメッセージ ID を設定します。 |
setJMSPriority | メッセージの優先順位を設定します。 |
setJMSRedelivered | メッセージが再配信されるかどうかを示します。 |
setJMSReplyTo | メッセージに対する応答が送信される宛先を設定します。 |
setJMSTimestamp | メッセージが送信される時刻を設定します。 |
setJMSType | メッセージのタイプを設定します。 |
xmsVOID acknowledge();
このメッセージと、セッションが以前に受信して、まだ応答していないすべてのメッセージに応答します。
セッションの応答モードが XMSC_CLIENT_ACKNOWLEDGE である場合、アプリケーションはこのメソッドを呼び出すことができます。セッションがその他の応答モードであるか、セッションが処理中である場合は、このメソッドの呼び出しは無視されます。
受信されたが、応答されていないメッセージは、再配信される可能性があります。
メッセージの応答について詳しくは、セッションでのメッセージの受信の確認を参照してください。
xmsVOID clearBody();
メッセージの本体をクリアします。ヘッダー・フィールドおよびメッセージ・プロパティーはクリアされません。
アプリケーションがメッセージ本体をクリアすると、本体は、新規に作成されたメッセージ内の空の本体と同じ状態になります。新規に作成されたメッセージ内の空の本体の状態は、メッセージ本体のタイプによって異なります。詳しくは、XMS メッセージの本文を参照してください。
アプリケーションは、本体の状態にかかわらず、いつでもメッセージ本体をクリアできます。 メッセージ本体が読み取り専用の場合、アプリケーションが本体に書き込むことができる唯一の方法は、まずアプリケーションが本体をクリアすることです。
xmsVOID clearProperties();
メッセージのプロパティーをクリアします。ヘッダー・フィールドおよびメッセージ本体はクリアされません。
アプリケーションがメッセージのプロパティーをクリアした場合、プロパティーは読み書き可能になります。
アプリケーションは、プロパティーの状態にかかわらず、いつでもメッセージのプロパティーをクリアできます。メッセージのプロパティーが読み取り専用の場合、プロパティーを書き込み可能にすることができる唯一の方法は、アプリケーションがまずプロパティーをクリアすることです。
xmsINT getJMSDeliveryMode() const;
メッセージの送達モードを取得します。送達モードは、メッセージの送信時に MessageProducer.send() 呼び出しによって設定されます。
新規に作成されて送信されていないメッセージの場合、送達モードは XMSC_DELIVERY_PERSISTENT です。ただし、送達モードが XMSC_DELIVERY_NON_PERSISTENT であるブローカーへのリアルタイム接続の場合を除きます。受信されたメッセージについては、受信側アプリケーションが setJMSDeliveryMode() を呼び出して送達モードを変更していない限り、このメソッドでは、メッセージ送信時に MessageProducer.send() 呼び出しによって設定された送達モードが戻されます。
Destination getJMSDestination() const;
メッセージ宛先を取得します。宛先は、メッセージの送信時に MessageProducer.send() 呼び出しによって設定されます。
未送信の新規作成メッセージの場合は、送信側アプリケーションが setJMSDestination() を呼び出して宛先を設定しない限り、メソッドはヌルの Destination オブジェクトを戻して、XMS_E_NOT_SET というエラー・コードを持つ例外をスローします。 受信されたメッセージについては、受信側アプリケーションが setJMSDestination() を呼び出して宛先を変更していない限り、このメソッドでは、メッセージ送信時に MessageProducer.send() 呼び出しによって設定された宛先の Destination オブジェクトが戻されます。
xmsLONG getJMSExpiration() const;
有効期限切れ時刻は、メッセージの送信時に MessageProducer.send() 呼び出しによって設定されます。その値は、送信側アプリケーションが指定した存続時間を、メッセージの送信時刻に加算して計算されます。有効期限切れ時刻は、1970 年 1 月 1 日 00:00:00 GMT からのミリ秒で表されます。
存続時間が 0 の場合、MessageProducer.send() 呼び出しでは、有効期限切れ時刻が 0 に設定されますが、これはメッセージの有効期限がないことを示します。
XMS は、有効期限が切れたメッセージを廃棄し、アプリケーションに配信しません。
新規に作成されて送信されていないメッセージの場合、送信側アプリケーションが setJMSExpiration() を呼び出して異なる有効期限切れ時刻を設定していない限り、有効期限切れ時刻は 0 です。受信されたメッセージについては、受信側アプリケーションが setJMSExpiration() を呼び出して有効期限切れ時刻を変更していない限り、このメソッドでは、メッセージ送信時に MessageProducer.send() 呼び出しによって設定された有効期限切れ時刻が戻されます。
String getJMSMessageID() const;
メッセージのメッセージ ID を取得します。メッセージ ID は、メッセージの送信時に MessageProducer.send() 呼び出しによって設定されます。
受信されたメッセージについては、受信側アプリケーションが setJMSMessageID() を呼び出してメッセージ ID を変更していない限り、このメソッドでは、メッセージ送信時に MessageProducer.send() 呼び出しによって設定されたメッセージ ID が戻されます。
xmsINT getJMSPriority() const;
メッセージの優先順位を取得します。優先順位は、メッセージの送信時に MessageProducer.send() 呼び出しによって設定されます。
新規に作成されて送信されていないメッセージの場合、送信側アプリケーションが setJMSPriority() を呼び出して異なる優先順位を設定していない限り、優先順位は 4 です。受信されたメッセージについては、受信側アプリケーションが setJMSPriority() を呼び出して優先順位を変更していない限り、このメソッドでは、メッセージ送信時に MessageProducer.send() 呼び出しによって設定された優先順位が戻されます。
xmsLONG getJMSTimestamp() const;
メッセージが送信された時刻を取得します。タイム・スタンプは、メッセージの送信時に MessageProducer.send() 呼び出しによって設定され、1970 年 1 月 1 日 00:00:00 GMT からのミリ秒で表されます。
新規に作成されて送信されていないメッセージの場合、送信側アプリケーションが setJMSTimestamp() を呼び出して異なるタイム・スタンプを設定していない限り、タイム・スタンプは 0 です。受信したメッセージについては、受信側アプリケーションが setJMSTimestamp() を呼び出してタイム・スタンプを変更していない限り、このメソッドでは、メッセージ送信時に MessageProducer.send() 呼び出しによって設定されたタイム・スタンプが戻ります。
Iterator getProperties() const;
このメソッドは、Property オブジェクトのリストをカプセル化するイテレーターを戻します。アプリケーションは、そのイテレーターを使用して、各プロパティーに順番にアクセスすることができます。
xmsVOID setJMSDeliveryMode(const xmsINT deliveryMode);
メッセージの送信前にこのメソッドが設定した送達モードは、メッセージの送信時の MessageProducer.send() 呼び出しでは無視されて置き換えられます。ただし、このメソッドを使用して、受信されたメッセージの送達モードを変更することができます。
xmsVOID setJMSDestination(const Destination & destination);
メッセージの送信前にこのメソッドが設定した宛先は、メッセージの送信時の MessageProducer.send() 呼び出しでは無視されて置き換えられます。ただし、このメソッドを使用して、受信されたメッセージの宛先を変更することができます。
xmsVOID setJMSExpiration(const xmsLONG expiration);
メッセージの送信前にこのメソッドが設定した有効期限切れ時刻は、メッセージの送信時の MessageProducer.send() 呼び出しでは無視されて置き換えられます。ただし、このメソッドを使用して、受信されたメッセージの有効期限切れ時刻を変更することができます。
xmsVOID setJMSMessageID(const String & msgID);
メッセージの送信前にこのメソッドが設定したメッセージ ID は、メッセージの送信時の MessageProducer.send() 呼び出しでは無視されて置き換えられます。ただし、このメソッドを使用して、受信されたメッセージのメッセージ ID を変更することができます。
xmsVOID setJMSPriority(const xmsINT priority);
メッセージの送信前にこのメソッドが設定した優先順位は、メッセージの送信時の MessageProducer.send() 呼び出しでは無視されて置き換えられます。ただし、このメソッドを使用して、受信されたメッセージの優先順位を変更することができます。
xmsVOID setJMSRedelivered(const xmsBOOL redelivered);
メッセージの送信前にこのメソッドが設定した再配信の標識は、メッセージの送信時の MessageProducer.send() 呼び出しでは無視され、メッセージ受信時の MessageConsumer.receive() 呼び出しでは無視されて置き換えられます。ただし、このメソッドを使用して、受信されたメッセージの標識を変更することができます。
xmsVOID setJMSTimestamp(const xmsLONG timeStamp);
メッセージの送信前にこのメソッドが設定したタイム・スタンプは、メッセージの送信時の MessageProducer.send() 呼び出しでは無視されて置き換えられます。ただし、このメソッドを使用して、受信されたメッセージのタイム・スタンプを変更することができます。