在Tomcat上使用Spring构建JSF应用程序。目标是一个Web场,客户端已请求我们设计我们的应用程序,以便可以在不依赖LB中的“粘性会话”的情况下进行负载平衡。
在.NET中,您可以将会话存储配置为SQL Server或ASP.NET状态服务。 Java世界有哪些替代方案?有没有一种标准方法来插入指向MySQL数据库的不同会话状态存储? Spring是否提供任何钩子?
答案 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了解更多相关信息。