【问题标题】:Immortal HttpSession?不朽的HttpSession?
【发布时间】:2014-02-12 15:05:39
【问题描述】:

阅读How do servlets work? Instantiation, sessions, shared variables and multithreading 线程后,我想知道存储在JVM 中的会话是否被擦除,在一个没有用户会话时间限制的应用程序中(<session-timeout>-1</session-timeout>)?如果是的话,是GC吗?

谢谢!

【问题讨论】:

    标签: java servlets session-timeout


    【解决方案1】:

    这取决于容器,但会话与 GC 关系不大。例如,tomcat 将活动会话保存在内存中并将它们保存到磁盘。根据需要将内存中的活动会话与非活动(或空闲)会话交换。这样,即使服务器重新启动,会话仍然存在。

    查看更多信息: http://tomcat.apache.org/tomcat-6.0-doc/config/manager.html#Introduction

    【讨论】:

    • 那些存储在磁盘中并且不再使用的会话呢?它们是无限期保存的吗?
    • 是的。您可以使用管理器应用手动使它们过期,具体取决于它们的空闲时间,无论如何在 tomcat 中。
    【解决方案2】:

    在此处查看信息:session-config

    默认值:-2

    最大值:整数.MAX_VALUE ÷ 60

    特殊值

    -2 = 使用 weblogic.xml 元素中 TimeoutSecs 设置的值

    -1 = 会话不会超时。 weblogic.xml 的元素中设置的值被忽略。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-23
      • 2013-05-21
      • 1970-01-01
      • 2017-07-05
      • 1970-01-01
      • 2011-07-05
      • 2016-09-30
      • 2016-05-30
      相关资源
      最近更新 更多