java – Web场中的jsf会话

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

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

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

在Tomcat中,您可以在webapp的上下文中提供custom session manager implementation

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

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

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

点赞