【问题标题】:Force session replication in Tomcat 5.5在 Tomcat 5.5 中强制会话复制
【发布时间】:2010-05-26 07:14:42
【问题描述】:

我在 tomcat 5.5 上运行一个 Web 应用程序。

如何强制将会话转储到磁盘中

  1. 对每个请求
  2. 在每个时间间隔

【问题讨论】:

    标签: java tomcat session-replication


    【解决方案1】:

    问题 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

    【讨论】:

    • 关于解决方案一 - 我宁愿提供一个可以使用配置文件而不需要更改代码的解决方案。关于解决方案 2 和您提到的讨论-假设配置是通过 context.xml 文件和“管理器”对象进行的,我无法弄清楚控制会话持续时间间隔的属性是什么跨度>
    • 另外关于您的代码 - 'dumpSession()' 不是已知的 API
    • @Spiderman 把这个留给读者来实现这个以编写任何格式;-)
    【解决方案2】:

    看看 Persistent Manager http://tomcat.apache.org/tomcat-5.5-doc/config/manager.html 将 maxIdleBackup 和 maxIdleSwap 设置为 0 或接近零的时间将在每个请求上保持会话。将这些参数设置为更大的值将使您间隔转储。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-09
      • 2018-01-01
      相关资源
      最近更新 更多