2010-01-07 74 views
0

我有一個nServicebus應用程序,現在我的應用程序從處理程序讀取消息並自動從總線中刪除消息。但我想要的是,從Handler收回消息之後,它不應該從總線上刪除消息。並且在通過我的代碼完成消息處理之後,我將從總線上刪除該消息。這意味着我必須控制消息。如何控制nServicebus丟失的消息

預先感謝

Susanta SAMANTA

回答

2

NServiceBus運行在一個TransactionScope,這意味着,如果你的代碼拋出異常的消息將在隊列後放回去,再重新測試所有的處理程序。因此,您不必擔心發現任何異常情況/管理消息如何從隊列中移除,NSB會爲您提供幫助。

如果你可以提供一些你想要做的更多的信息,我可能能夠幫助你更多?

+0

我有索引服務索引一些消息,當服務意外停止時,我的問題出現了。假設當時我已經處理了500條消息中的100條消息,但沒有編入索引(因爲索引編寫者當時沒有關閉)。下次機器重新啓動時,這100條消息會丟失。那麼,我如何保留所有這些消息。我想在索引完成後立即銷燬這500條消息。 – 2010-01-07 09:02:58

+2

要解決這類問題,你應該看看「sagas」 * http://nservicebus.com/Sagas.aspx * http://sourceforge.net/apps/mediawiki/nservicebus/index.php? title = Sagas *製造業和星巴克樣本顯示此功能 即,您使用傳奇追蹤寫入/寫入索引的所有消息。 希望這有助於! /Andreas – 2010-01-08 10:17:40