2011-02-07 112 views
0

在单个会话中是否存储了最大数量的数据?我知道,仅仅在会话中存储大量数据是一件坏事。但是,存储的金额是否有限制?如果是,应用程序如何通知该限制已达到?这是否有例外?存储在HTTPSession中的属性限制

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

回答

1

在Tomcat中从来没有听说过这样的限制,幕后它只是一张地图,所以这堆可能是限制

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

0

我不认为Tomcat曾经以任何方式将任何东西钝化到磁盘的默认配置中,所以放入会话中的所有内容都会占用内存空间。限制是运行Tomcat的JVM的堆大小。

如果在会话中放置了太多的对象,您可能会在某个时间出现OutOfMemoryError。