我需要向正确的方向稍微推动一下。这是我的问题:我必须创建一个超可靠的服务,将电子邮件发送到其地址存储在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,确保在给定的时间运行一个服务实例。
但是一旦发生故障切换,第二个服务应该从第一个服务停止的地方继续工作。
如何在集群中的节点之间共享状态,以避免发送两次电子邮件的可能性?