預設訊息屬性
更新:2007 年 11 月
當您建立 MessageQueue 元件的執行個體時,可以選擇是否要設定一組由元件傳送的訊息所使用的預設屬性 (Property)。這能讓您節省定義訊息的時間,同時也能進一步控制 Send 方法,而不需建立和設定 Message 物件。
注意事項: |
---|
只有未使用 Message 物件傳送的訊息才會使用 DefaultPropertiesToSend 值。當您使用 Message 物件傳送訊息時,將會使用 Message 物件的屬性。 |
您可以在 [屬性] 視窗的 DefaultPropertiesToSend 區段中設定值,或設定 DefaultPropertiesToSend 物件中的屬性值,來設定預設訊息屬性。這些預設屬性控制的功能包括:是否要產生認可訊息以及傳送到何處、如何加密和驗證您的訊息以及您訊息的逾時時限。
此頁面將提供概觀,來說明如何設定一些更重要的屬性。
訊息優先權
為您的訊息設定預設優先權將會影響它們傳送至目的地佇列的順序。您可以設定 Priority 屬性,來決定元件所傳送訊息的預設優先權。優先權等級是預設為一般,您也可設定為較低和較高優先權。
訊息的優先權設定會決定訊息在佇列中的位置。以較高優先權傳送的訊息會放在佇列中的前面,而較低優先權的訊息則會放在佇列中的後面。當佇列收到一組具有相同優先權設定的訊息時,這些訊息會依傳送的時間來排列在佇列中。
注意事項: |
---|
您無法在傳送至交易佇列的訊息上設定優先權,因為在交易佇列上處理訊息的順序是由交易本身決定的。 |
認可和回應屬性
您可以設定幾個預設屬性來決定是否要為您元件的訊息產生回應和認可,以及處理這些回應的方式。您可以為所有訊息作業設定為預設值的屬性包括:
AcknowledgeType 和 AdministrationQueue 屬性。您可以使用這些屬性,來決定當訊息到達或無法到達其目的地佇列時,或是當目標應用程式從佇列擷取訊息時,是否應該產生認可訊息。如需詳細資訊,請參閱 HOW TO:要求訊息認可。
ResponseQueue 屬性,您可以用來為任何由應用程式 (從佇列擷取訊息) 所傳送的訊息指出傳回路徑。這些訊息之所以與認可訊息不同,原因在於它們是由接收端應用程式所產生,而不是佇列管理員。
UseJournalQueue 屬性,您可以用以決定外送訊息的複本是否應該儲存在日誌佇列中。同樣地,您可以設定 UseDeadLetterQueue 屬性,藉以判定是否應該將無法投遞的信件傳送至無法投遞的信件佇列。
逾時屬性
您可以使用兩個與時間相關的屬性來進一步控制您的訊息。這兩個屬性都是用來決定訊息在捨棄之前會在系統中保存多久。您可以使用 TimeToReachQueue 屬性,來指定訊息必須使用多久時間,以便試著達到目的地佇列。您可以使用 TimeToBeReceived 屬性,來指定訊息會在系統中停留多久 (從傳送開始一直到被接收端應用程式從佇列移除為止)。如果任一計時器間隔到期,訊息佇列就會捨棄訊息。
當訊息因計時器到期而被捨棄時,佇列管理員可能會採取額外的步驟:
如果您將 UseDeadLetterQueue 屬性設定為 true,則會將捨棄訊息的複本傳送至指定的無效信件佇列。
如果您將 AcknowledgeType 屬性設定來傳送否定認可,則會將認可訊息傳送至指定的系統管理佇列。
依預設不會為任一屬性設定逾時間隔。如果您為兩個屬性都設定值,則會採用 TimeToBeReceived 屬性中的值。