我需要向正確的方向稍微推動一下。這是我的問題:我必須創建一個超可靠的服務,將電子郵件發送到其地址存儲在FTP服務器上的txt文件中的客戶端。單個txt文件可能包含無限數量的條目。大多數情況下,該文件包含約300,000個條目。從txt文件發送郵件的JBoss集羣服務
服務公開,只有兩個簡單的方法接口:
TaskHandle sendEmails(String ftpFilePath);
ProcessStatus checkProcessStatus(TaskHandle taskHandle);
方法sendEmails()返回TaskHandle,使我們可以要求ProcessStatus。
對於這樣的服務是可靠的羣集是必要的。 處理單個txt文件可能需要很長時間。重新啓動羣集中的一個節點應該不會影響發送電子郵件。
我們使用JBoss AS 4.2.0,它帶有一個很好的HASingletonController,確保在給定的時間運行一個服務實例。
但是一旦發生故障切換,第二個服務應該從第一個服務停止的地方繼續工作。
如何在集羣中的節點之間共享狀態,以避免發送兩次電子郵件的可能性?