Message オブジェクトは、アプリケーションが送信または受信するメッセージを表します。
Message オブジェクトの JMS メッセージ・ヘッダー・フィールドのリストについては、XMS メッセージのヘッダー・フィールドを参照してください。 Message オブジェクトの JMS 定義プロパティーのリストについては、メッセージの JMS 定義プロパティーを参照してください。Message オブジェクトの IBM 定義プロパティーのリストについては、メッセージの IBM 定義プロパティーを参照してください。
関数 | 説明 |
---|---|
xmsMsgAcknowledge | このメッセージと、セッションが以前に受信して、まだ応答していないすべてのメッセージに応答します。 |
xmsMsgClearBody | メッセージの本体をクリアします。 |
xmsMsgClearProperties | メッセージのプロパティーをクリアします。 |
xmsMsgDispose | メッセージを削除します。 |
xmsMsgGetJMSCorrelationID | メッセージの相関 ID を取得します。 |
xmsMsgGetJMSDeliveryMode | メッセージの送達モードを取得します。 |
xmsMsgGetJMSDestination | メッセージ宛先を取得します。 |
xmsMsgGetJMSExpiration | メッセージの有効期限切れ時刻を取得します。 |
xmsMsgGetJMSMessageID | メッセージのメッセージ ID を取得します。 |
xmsMsgGetJMSPriority | メッセージの優先順位を取得します。 |
xmsMsgGetJMSRedelivered | メッセージが再配信されるかどうかの標識を取得します。 |
xmsMsgGetJMSReplyTo | メッセージに対する応答が送信される宛先を取得します。 |
xmsMsgGetJMSTimestamp | メッセージが送信された時刻を取得します。 |
xmsMsgGetJMSType | メッセージのタイプを取得します。 |
xmsMsgGetProperties | メッセージのプロパティーのリストを取得します。 |
xmsMsgGetTypeId | メッセージの本体タイプを取得します。 |
xmsMsgPropertyExists | メッセージに、指定された名前のプロパティーがあるかどうかを検査します。 |
xmsMsgSetJMSCorrelationID | メッセージの相関 ID を設定します。 |
xmsMsgSetJMSDeliveryMode | メッセージの送達モードを設定します。 |
xmsMsgSetJMSDestination | メッセージ宛先を設定します。 |
xmsMsgSetJMSExpiration | メッセージの有効期限切れ時刻を設定します。 |
xmsMsgSetJMSMessageID | メッセージのメッセージ ID を設定します。 |
xmsMsgSetJMSPriority | メッセージの優先順位を設定します。 |
xmsMsgSetJMSRedelivered | メッセージが再配信されるかどうかを示します。 |
xmsMsgSetJMSReplyTo | メッセージに対する応答が送信される宛先を設定します。 |
xmsMsgSetJMSTimestamp | メッセージが送信される時刻を設定します。 |
xmsMsgSetJMSType | メッセージのタイプを設定します。 |
xmsRC xmsMsgAcknowledge(xmsHMsg message, xmsHErrorBlock errorBlock);
このメッセージと、セッションが以前に受信して、まだ応答していないすべてのメッセージに応答します。
セッションの応答モードが XMSC_CLIENT_ACKNOWLEDGE である場合、アプリケーションはこの関数を呼び出すことができます。セッションがその他の応答モードであるか、セッションが処理中である場合は、この関数の呼び出しは無視されます。
受信されたが、応答されていないメッセージは、再配信される可能性があります。
メッセージの応答について詳しくは、セッションでのメッセージの受信の確認を参照してください。
xmsRC xmsMsgClearBody(xmsHMsg message, xmsHErrorBlock errorBlock);
メッセージの本体をクリアします。ヘッダー・フィールドおよびメッセージ・プロパティーはクリアされません。
アプリケーションがメッセージ本体をクリアすると、本体は、新規に作成されたメッセージ内の空の本体と同じ状態になります。新規に作成されたメッセージ内の空の本体の状態は、メッセージ本体のタイプによって異なります。詳しくは、XMS メッセージの本文を参照してください。
アプリケーションは、本体の状態にかかわらず、いつでもメッセージ本体をクリアできます。 メッセージ本体が読み取り専用の場合、アプリケーションが本体に書き込むことができる唯一の方法は、まずアプリケーションが本体をクリアすることです。
xmsRC xmsMsgClearProperties(xmsHMsg message, xmsHErrorBlock errorBlock);
メッセージのプロパティーをクリアします。ヘッダー・フィールドおよびメッセージ本体はクリアされません。
アプリケーションがメッセージのプロパティーをクリアした場合、プロパティーは読み書き可能になります。
アプリケーションは、プロパティーの状態にかかわらず、いつでもメッセージのプロパティーをクリアできます。 メッセージのプロパティーが読み取り専用の場合、プロパティーを書き込み可能にすることができる唯一の方法は、アプリケーションがまずプロパティーをクリアすることです。
xmsRC xmsMsgGetJMSCorrelationID(xmsHMsg message, xmsCHAR *correlID, xmsINT length, xmsINT *actualLength, xmsHErrorBlock errorBlock);
この関数の使用方法について詳しくは、値によりストリングを戻す C 関数を参照してください。
xmsRC xmsMsgGetJMSDeliveryMode(xmsHMsg message, xmsINT *deliveryMode, xmsHErrorBlock errorBlock);
メッセージの送達モードを取得します。送達モードは、メッセージの送信時に xmsMsgProducerSend() 呼び出しによって設定されます。
新規に作成されて送信されていないメッセージの場合、送達モードは XMSC_DELIVERY_PERSISTENT です。ただし、送達モードが XMSC_DELIVERY_NON_PERSISTENT であるブローカーへのリアルタイム接続の場合を除きます。受信されたメッセージについては、受信側アプリケーションが xmsMsgSetJMSDeliveryMode() を呼び出して送達モードを変更していない限り、この関数では、メッセージ送信時に xmsMsgProducerSend() 呼び出しによって設定された送達モードが戻されます。
xmsRC xmsMsgGetJMSDestination(xmsHMsg message, xmsHDest *destination, xmsHErrorBlock errorBlock);
メッセージ宛先を取得します。宛先は、メッセージの送信時に xmsMsgProducerSend() 呼び出しによって設定されます。
新規に作成されて送信されていないメッセージの場合、送信側アプリケーションが xmsMsgSetJMSDestination() を呼び出して宛先を設定していない限り、この関数は NULL ハンドルおよびエラー・コード XMS_E_NOT_SET を戻します。受信されたメッセージについては、受信側アプリケーションが xmsMsgSetJMSDestination() を呼び出して宛先を変更していない限り、この関数では、メッセージ送信時に xmsMsgProducerSend() 呼び出しによって設定された宛先のハンドルが戻されます。
xmsRC xmsMsgGetJMSExpiration(xmsHMsg message, xmsLONG *expiration, xmsHErrorBlock errorBlock);
有効期限切れ時刻は、メッセージの送信時に xmsMsgProducerSend() 呼び出しによって設定されます。その値は、送信側アプリケーションが指定した存続時間を、メッセージの送信時刻に加算して計算されます。有効期限切れ時刻は、1970 年 1 月 1 日 00:00:00 GMT からのミリ秒で表されます。
存続時間が 0 の場合、xmsMsgProducerSend() 呼び出しでは、有効期限切れ時刻が 0 に設定されますが、これはメッセージの有効期限がないことを示します。
XMS は、有効期限が切れたメッセージを廃棄し、アプリケーションに配信しません。
新規に作成されて送信されていないメッセージの場合、送信側アプリケーションが xmsMsgSetJMSExpiration() を呼び出して異なる有効期限切れ時刻を設定していない限り、有効期限切れ時刻は 0 です。受信されたメッセージについては、受信側アプリケーションが xmsMsgSetJMSExpiration() を呼び出して有効期限切れ時刻を変更していない限り、この関数では、メッセージ送信時に xmsMsgProducerSend() 呼び出しによって設定された有効期限切れ時刻が戻されます。
xmsRC xmsMsgGetJMSMessageID(xmsHMsg message, xmsCHAR *msgID, xmsINT length, xmsINT *actualLength, xmsHErrorBlock errorBlock);
メッセージのメッセージ ID を取得します。メッセージ ID は、メッセージの送信時に xmsMsgProducerSend() 呼び出しによって設定されます。
この関数の使用方法について詳しくは、値によりストリングを戻す C 関数を参照してください。
受信されたメッセージについては、受信側アプリケーションが xmsMsgSetJMSMessageID() を呼び出してメッセージ ID を変更していない限り、この関数では、メッセージ送信時に xmsMsgProducerSend() 呼び出しによって設定されたメッセージ ID が戻されます。
xmsRC xmsMsgGetJMSPriority(xmsHMsg message, xmsINT *priority, xmsHErrorBlock errorBlock);
メッセージの優先順位を取得します。優先順位は、メッセージの送信時に xmsMsgProducerSend() 呼び出しによって設定されます。
新規に作成されて送信されていないメッセージの場合、送信側アプリケーションが xmsMsgSetJMSPriority() を呼び出して異なる優先順位を設定していない限り、優先順位は 4 です。受信されたメッセージについては、受信側アプリケーションが xmsMsgSetJMSPriority() を呼び出して優先順位を変更していない限り、この関数では、メッセージ送信時に xmsMsgProducerSend() 呼び出しによって設定された優先順位が戻されます。
xmsRC xmsMsgGetJMSRedelivered(xmsHMsg message, xmsBOOL *redelivered, xmsHErrorBlock errorBlock);
メッセージが再配信されるかどうかの標識を取得します。標識は、メッセージの受信時に xmsMsgConsumerReceive() 呼び出しによって設定されます。
ブローカーへのリアルタイム接続の場合、常に値は xmsFALSE です。
xmsRC xmsMsgGetJMSReplyTo(xmsHMsg message, xmsHDest *destination, xmsHErrorBlock errorBlock);
xmsRC xmsMsgGetJMSTimestamp(xmsHMsg message, xmsLONG *timeStamp, xmsHErrorBlock errorBlock);
メッセージが送信された時刻を取得します。タイム・スタンプは、メッセージの送信時に xmsMsgProducerSend() 呼び出しによって設定され、1970 年 1 月 1 日 00:00:00 GMT からのミリ秒で表されます。
新規に作成されて送信されていないメッセージの場合、送信側アプリケーションが xmsMsgSetJMSTimestamp() を呼び出して異なるタイム・スタンプを設定していない限り、タイム・スタンプは 0 です。受信されたメッセージについては、受信側アプリケーションが xmsMsgSetJMSTimestamp() を呼び出してタイム・スタンプを変更していない限り、この関数では、メッセージ送信時に xmsMsgProducerSend() 呼び出しによって設定されたタイム・スタンプが戻されます。
xmsRC xmsMsgGetJMSType(xmsHMsg message, xmsCHAR *type, xmsINT length, xmsINT *actualLength, xmsHErrorBlock errorBlock);
この関数の使用方法について詳しくは、値によりストリングを戻す C 関数を参照してください。
xmsRC xmsMsgGetProperties(xmsHMsg message, xmsHIterator *iterator, xmsHErrorBlock errorBlock);
この関数は、Property オブジェクトのリストをカプセル化するイテレーターを戻します。アプリケーションは、そのイテレーターを使用して、各プロパティーに順番にアクセスすることができます。
xmsRC xmsMsgGetTypeId(xmsHMsg message, xmsMESSAGE_TYPE *type, xmsHErrorBlock errorBlock);
メッセージの本体タイプについては、XMS メッセージの本文を参照してください。
xmsRC xmsMsgPropertyExists(xmsHMsg message, xmsCHAR *propertyName, xmsBOOL *propertyExists, xmsHErrorBlock errorBlock);
メッセージに、指定された名前のプロパティーがあるかどうかを検査します。
xmsRC xmsMsgSetJMSCorrelationID(xmsHMsg message, xmsCHAR *correlID, xmsINT length, xmsHErrorBlock errorBlock);
xmsRC xmsMsgSetJMSDeliveryMode(xmsHMsg message, xmsINT deliveryMode, xmsHErrorBlock errorBlock);
メッセージの送信前にこの関数が設定した送達モードは、メッセージの送信時の xmsMsgProducerSend() 呼び出しでは無視されて置き換えられます。ただし、この関数を使用して、受信されたメッセージの送達モードを変更することができます。
xmsRC xmsMsgSetJMSDestination(xmsHMsg message, xmsHDest destination, xmsHErrorBlock errorBlock);
メッセージの送信前にこの関数が設定した宛先は、メッセージの送信時の xmsMsgProducerSend() 呼び出しでは無視されて置き換えられます。ただし、この関数を使用して、受信されたメッセージの宛先を変更することができます。
xmsRC xmsMsgSetJMSExpiration(xmsHMsg message, xmsLONG expiration, xmsHErrorBlock errorBlock);
メッセージの送信前にこの関数が設定した有効期限切れ時刻は、メッセージの送信時の xmsMsgProducerSend() 呼び出しでは無視されて置き換えられます。ただし、この関数を使用して、受信されたメッセージの有効期限切れ時刻を変更することができます。
xmsRC xmsMsgSetJMSMessageID(xmsHMsg message, xmsCHAR *msgID, xmsINT length, xmsHErrorBlock errorBlock);
メッセージの送信前にこの関数が設定したメッセージ ID は、メッセージの送信時の xmsMsgProducerSend() 呼び出しでは無視されて置き換えられます。ただし、この関数を使用して、受信されたメッセージのメッセージ ID を変更することができます。
xmsRC xmsMsgSetJMSPriority(xmsHMsg message, xmsINT priority, xmsHErrorBlock errorBlock);
メッセージの送信前にこの関数が設定した優先順位は、メッセージの送信時の xmsMsgProducerSend() 呼び出しでは無視されて置き換えられます。ただし、この関数を使用して、受信されたメッセージの優先順位を変更することができます。
xmsRC xmsMsgSetJMSRedelivered(xmsHMsg message, xmsBOOL redelivered, xmsHErrorBlock errorBlock);
メッセージの送信前にこの関数が設定した再配信の標識は、メッセージの送信時の xmsMsgProducerSend() 呼び出しでは無視され、メッセージ受信時の xmsMsgConsumerReceive() 呼び出しでは無視されて置き換えられます。ただし、この関数を使用して、受信されたメッセージの標識を変更することができます。
xmsRC xmsMsgSetJMSReplyTo(xmsHMsg message, xmsHDest destination, xmsHErrorBlock errorBlock);
xmsRC xmsMsgSetJMSTimestamp(xmsHMsg message, xmsLONG timeStamp, xmsHErrorBlock errorBlock);
メッセージの送信前にこの関数が設定したタイム・スタンプは、メッセージの送信時の xmsMsgProducerSend() 呼び出しでは無視されて置き換えられます。ただし、この関数を使用して、受信されたメッセージのタイム・スタンプを変更することができます。
xmsRC xmsMsgSetJMSType(xmsHMsg message, xmsCHAR *type, xmsINT length, xmsHErrorBlock errorBlock);