Jboss EAP 6.1集群环境下Ejb3.1 timer配置数据同步问题--Urgent!!!

小菜鸟 2014-10-31

Hi,

请问大神,我们公司有个web项目是基于JbossEAP6.1+EJB3.1+JSF2架构开发的,并部署在Jboss的集群环境下(ServerA,ServerBandServerC).

项目中用EJB3.1TimerServer创建了一些scheduletasks,Timer的配置数据文件独立的存放于另一台中央文件服务器中。

用户能访问一个配置task的页面,来创建新的task或更改,删除已有的tasks。但我们发现这样做在集群环境下出现问题。

详情如下:

当服务器被启动时,每台服务器会去中央文件系统读取Timer的配置数据到自己本机的缓冲中。但当某个用户在某台服务器上修改了自己的tasks的配置时,只有那台服务器对应的Timer的缓存数据被更新,而这些更新并没有被同步到其他另外两个节点的服务器上。这样就会出现集群环境下不同机器Timer配置数据不同步的问题。

有一种做法就是重新关闭所有服务器然后再重启,迫使它们再去重新从存放在中央文件系统的Timer配置数据读取配置数据,这样Timer配置数据就同步了。但是我们不可能用户每次updatetasks都重启服务器,所以想问一下,有什么可行的解决方法使当某台服务器的timertasks的配置被更改后,这些更改也能同时同步到其它节点服务器上。

这个问题很紧急,盼高手们能提供确实有效可行的解决方案。

万分感谢!!!

逍遥

相关推荐