使用memcached作为会话故障转移恢复JSF应用程序状态

时间:2012-05-25 12:02:50

标签: session jsf serialization memcached restore

我设置了两个相同的tomcat服务器来托管相同的Web应用程序(Sun RI JSF 2 / Tomahawk)。对于负载平衡和故障转移方案,我使用nginx服务器作为反向代理将请求委托给一个或另一个服务器。现在将一个tomcat定义为备份解决方案,以便tomcat服务器1处理所有请求。当我杀死tomcat 1的进程时,nginx很好地将以下请求委托给tomcat服务器2.为了重用会话数据,我将两个tomcat服务器配置为使用memcached作为会话存储。 JSF配置为在服务器上存储其状态。

关于日志文件,此设置看起来非常好,并且使用memcached服务器读取和存储会话数据。这例如有助于使用Web应用程序而无需再次登录,即使tomcat 1已关闭。

然而,在恢复会话后,似乎我的(会话作用域)支持bean似乎没有被存储或使用。表单字段留空,应该填充会话bean中的数据。

是否有可能使用上述技术做这些事情?

1 个答案:

答案 0 :(得分:0)

使用memcached-session-manager和OWB,你应该使用tomcat< 7.0.22与此版本一样,ServletRequestListeners的通知发生了变化(这是OWB用于故障转移支持的机制)。

我目前正在开发一个适用于OWB和tomcat> = 7.0.22的新版msm。