【问题标题】:Limit of Attributes Stored In An HTTPSessionHTTPSession 中存储的属性限制
【发布时间】:2011-06-23 02:05:34
【问题描述】:

单个会话中可以存储的数据量是否有上限?我知道仅在会话中存储大量数据是一件坏事。但是,存储的数量是否有限制,如果有,应用程序如何通知已达到此限制?有例外吗?

上下文:我指的是 Tomcat 6.0,没有集群,使用 StandardManager(用于会话)。

【问题讨论】:

    标签: jsp session tomcat configuration jakarta-ee


    【解决方案1】:

    从来没有听说过Tomcat有这样的限制,在幕后它只是一个映射,所以堆是限制,可能。

    但如果您的会话如此庞大,您可能会考虑在会话上进行同步,因为修改大型对象可能会增加一些竞争条件的风险(出于性能原因,访问会话在不同线程/来自同一用户的请求之间不同步- 您正在做出选择,您是否可以接受风险)。

    【讨论】:

      【解决方案2】:

      我认为 Tomcat 在其默认配置中不会将任何内容钝化到磁盘,因此您放入会话中的所有内容都会占用内存空间。限制是运行 Tomcat 的 JVM 的堆大小。

      如果您在会话中放置了太多对象,您有时可能会遇到 OutOfMemoryError。

      【讨论】:

        猜你喜欢
        • 2011-08-15
        • 1970-01-01
        • 1970-01-01
        • 2018-04-02
        • 2016-03-26
        • 2012-07-26
        • 1970-01-01
        • 1970-01-01
        • 2017-06-02
        相关资源
        最近更新 更多