Web场中的jsf会话

时间:2010-02-12 23:09:55

标签: java tomcat session load-balancing

在Tomcat上使用Spring构建JSF应用程序。目标是一个Web场,客户端已请求我们设计我们的应用程序,以便可以在不依赖LB中的“粘性会话”的情况下进行负载平衡。

在.NET中,您可以将会话存储配置为SQL Server或ASP.NET状态服务。 Java世界有哪些替代方案?有没有一种标准方法来插入指向MySQL数据库的不同会话状态存储? Spring是否提供任何钩子?

1 个答案:

答案 0 :(得分:2)

这是特定于servletcontainer的,在本例中是Tomcat。 servletcontainer是管理和提供会话的容器。所以JSF和Spring在这里无关。它们只是通过request.getSession()透明地从servlet容器中获取它,依此类推。

在Tomcat中,您可以在webapp Context中提供custom session manager implementation

<Context ...>
    <Manager className="com.example.SessionManager">

.. com.example.SessionManager根据合同实施org.apache.catalina.Manager。在那里,您可以编写代码来通过数据库支持会话。

但是,根据您的特定要求,您可以选择Tomcat的内置群集/会话复制功能,而不是使用自定义管理器/数据库重新创建它。请在Tomcat Clustering/Session Replication HOW-TO了解更多相关信息。