【发布时间】:2010-05-26 07:14:42
【问题描述】:
我在 tomcat 5.5 上运行一个 Web 应用程序。
如何强制将会话转储到磁盘中
- 对每个请求
- 在每个时间间隔
【问题讨论】:
标签: java tomcat session-replication
我在 tomcat 5.5 上运行一个 Web 应用程序。
如何强制将会话转储到磁盘中
【问题讨论】:
标签: java tomcat session-replication
问题 1 可以使用过滤器或valve:
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws java.io.IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
HttpSession session = req.getSession(false);
if(session != null) {
dumpSession( session );
}
chain.doFilter(request, response);
}
}
关于问题 2,请参阅discussion
【讨论】:
看看 Persistent Manager http://tomcat.apache.org/tomcat-5.5-doc/config/manager.html 将 maxIdleBackup 和 maxIdleSwap 设置为 0 或接近零的时间将在每个请求上保持会话。将这些参数设置为更大的值将使您间隔转储。
【讨论】: