我有一个Java EE应用程序,它集群在两个WebSphere V7节点上。如果客户端更改持久保存到节点1上的数据库的数据,我想确保在节点2上立即更新数据。
我考虑过使用EJB计时器服务,它每隔几分钟检查一次数据库。但是,如果我想让更新按时执行,节点2没有任何延迟并且没有将间隔设置为一秒左右,我该怎么办?好吧,我可以从节点1调用节点2上的servlet,并以这种方式触发更新。但在这种情况下,我的应用程序必须知道所有节点的http地址。这不是我想要的。还有其他建议吗?
是否有最佳实践来同步服务器节点之间的数据更改?
答案 0 :(得分:1)
由于您使用的是WebSphere,我建议您使用WAS中内置的DistributedMap。
答案 1 :(得分:0)
我建议使用提供不同同步方法的Jboss JGroups。 http://www.jgroups.org/
答案 2 :(得分:0)
假设您的两个WebSphere节点与同一个数据库通信,并且您没有添加任何形式的缓存,那么只要节点2在数据库上运行SQL查询,数据就会可用。
我在你的问题中遗漏了什么?