我是一個Sql Server服務代理新手,我試着去設置Service Broker(看似)簡單用例的最佳方法:我想創建一個簡單的工作隊列,其中一個應用程序放棄工作項目進入隊列,並且單獨的應用程序從該隊列中提取工作項並對其進行處理。第一個應用程序不需要從第二個應用程序獲取狀態消息。我希望隊列能夠存在於單個Sql Server實例中。Sql Server Service Broker:如何構造簡單隊列場景的對話?
讓我最困惑的是對話/對話與這種情況的關係。我知道你只能在對話/對話的上下文中發送/接收消息,但由於兩個應用程序之間沒有來回的交談,所以我失去了創建新對話的正確時間。兩種極端的選擇似乎是:
- 每次我排隊工作項目,我開始一個新的談話。所以每個對話最終都只有一條消息。
- 在部署時,我手動創建一個無限生命期對話。當需要排隊工作項目時,我總是將它作爲單個對話的一部分發送出去。
什麼將要去這兩種路線的後果是什麼?
此外,在第一種情況下,好像我需要做一些結束對話,以便爲SQL Server能夠在內部清理資源。有什麼指導什麼時候將這些放在正確的位置? (也可能是潛在更好地依靠對話最終超時?)
您似乎在討論單個隊列,但是... http://stackoverflow.com/questions/14643015/why-do-i-need-two-sql-server-service-broker-queues-for-a-simple-task – cja 2013-02-01 09:19:26