xms::PropertyContext | +----xms::Message
有關 Message 物件中的 JMS 訊息標頭欄位清單,請參閱XMS 訊息中的標頭欄位。有關 JMS 所定義的 Message 物件內容清單, 請參閱JMS 定義的訊息內容。有關 IBM 所定義的 Message 物件內容清單,請參閱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 訊息的主體。
不論訊息主體處於何種狀態, 應用程式隨時都可以將它清除。如果訊息主體為唯讀, 應用程式唯一能寫入主體的方法是先清除主體。
xmsINT getJMSDeliveryMode() const;
取得訊息的遞送模式。遞送模式是在傳送訊息時由 MessageProducer.send() 呼叫所設。
如果是尚未傳送的新建訊息,遞送模式為 XMSC_DELIVERY_PERSISTENT,但如果是和分配管理系統間的即時連線, 則遞送模式會是 XMSC_DELIVERY_NON_PERSISTENT。如果是已接收的訊息, 方法會傳回當初在傳送訊息時由 MessageProducer.send() 呼叫所設的遞送模式, 除非接收端應用程式因呼叫 setJMSDeliveryMode() 而變更了遞送模式。
Destination getJMSDestination() const;
取得訊息的目的地。目的地是在傳送訊息時由 MessageProducer.send() 呼叫所設。
如果是尚未傳送的新建訊息,方法會傳回一個空值 Destination 物件並擲出一個 錯誤碼為 XMS_E_NOT_SET 的異常狀況, 除非傳送端應用程式因呼叫 setJMSDestination() 而設定了一個目的地。如果是已接收的訊息, 方法會傳回當初在傳送訊息時由 MessageProducer.send() 呼叫所設之目的地的 Destination 物件, 除非接收端應用程式因呼叫 setJMSDestination() 而變更了目的地。
xmsLONG getJMSExpiration() const;
有效期限是在傳送訊息時由 MessageProducer.send() 呼叫所設。其值的計算方式是, 傳送端應用程式指定的存活時間加上送出訊息的時間。有效期限是以毫秒表示, 並從 1970 年 1 月 1 日 00:00:00 GMT 開始。
如果存活時間為 0, 則 MessageProducer.send() 呼叫會將有效期限設為 0,表示該訊息沒有期限。
XMS 會捨棄過期的訊息,而不會遞送給應用程式。
如果是尚未傳送的新建訊息,則有效期限為 0, 除非傳送端應用程式因呼叫 setJMSExpiration() 而設定了一個不同的有效期限。如果是已接收的訊息, 方法會傳回當初在傳送訊息時由 MessageProducer.send() 呼叫所設的有效期限, 除非接收端應用程式因呼叫 setJMSExpiration() 而變更了有效期限。
String getJMSMessageID() const;
取得訊息的訊息 ID。訊息 ID 是在傳送訊息時由 MessageProducer.send() 呼叫所設。
如果是已接收的訊息, 方法會傳回當初在傳送訊息時由 MessageProducer.send() 呼叫所設的訊息 ID, 除非接收端應用程式因呼叫 setJMSMessageID() 而變更了訊息 ID。
xmsINT getJMSPriority() const;
取得訊息的優先順序。優先順序是在傳送訊息時由 MessageProducer.send() 呼叫所設。
如果是尚未傳送的新建訊息, 則優先順序為 4, 除非傳送端應用程式因呼叫 setJMSPriority() 而設定了一個不同的優先順序。如果是已接收的訊息, 方法會傳回當初在傳送訊息時由 MessageProducer.send() 呼叫所設的優先順序, 除非接收端應用程式因呼叫 setJMSPriority() 而變更了優先順序。
xmsLONG getJMSTimestamp() const;
取得訊息的傳送時間。時間戳記是在傳送訊息時由 MessageProducer.send() 呼叫所設, 是以毫秒表示,並從 1970 年 1 月 1 日 00:00:00 GMT 開始。
如果是尚未傳送的新建訊息,則時間戳記為 0, 除非傳送端應用程式因呼叫 setJMSTimestamp() 而設定了一個不同的時間戳記。如果是已接收的訊息, 方法會傳回當初在傳送訊息時由 MessageProducer.send() 呼叫所設的時間戳記, 除非接收端應用程式因呼叫 setJMSTimestamp() 而變更了時間戳記。