2009-02-21 81 views
3

如何控制消息隊列中消息的生存期?什麼是默認生命週期?我嘗試在本地運行消息隊列,並發現消息在系統重新啓動時消失。這在構建鬆散耦合的應用程序中不會破壞消息隊列的目的。這是否意味着消息發送到另一臺機器進行處理時,它將在第二天無法使用。我對這裏的一些指導非常讚賞,因爲我不清楚消息排隊系統的這些方面。消息隊列中消息的生存期

回答

0

你將TimeToBeReceived屬性設置爲?

消息隊列存儲在磁盤上,所以重啓不應該除去它們,除非它們已經過期。

另外請注意,如果您發送消息給不存在的隊列,它將被丟棄 - 請確保在使用之前設置隊列。

-Adam

3

有兩種非事務性消息。有快捷消息和可恢復消息。快遞郵件將在服務器(或者我認爲的msmq服務)上重新啓動。快速消息是.net api和com api中的默認類型。要使消息持久化,必須將Recoverable屬性設置爲true。 Here is the plumber explanation

還有其他屬性可以控制消息的生命週期。但他們的默認是永遠的。

還要記住那些是消息屬性而不是隊列屬性。