日期:2014-05-18  浏览次数:20693 次

【探讨】关于延迟加载的问题的探讨
我这位同事是做实施和维护的,他说用户中出现这种情况:

对于前台的Ajax页面的大量数据流量,客户一发送请求时,

响应比较慢,响应时间超出了用户的等待限度。能不能在Tomcat中配置或者是延迟加载之类的。

这里对于程序代码是屏蔽看不到,唯一的自己能做的就是帮助客户设置他们公司的服务器。

我当时回答的是:在Tomcat里面好象没有延迟加载这配置,,一般是在持久化层的配置中对数据的获取或者其他操作进行延迟加载,客户端的显示层应该也没有。

后来感觉自己这句话总有问题。

所以查了一下server.xml

 <Connector port="8080" protocol="HTTP/1.1" 
  connectionTimeout="20000" 
  redirectPort="8443" />

找了一下<Connector>属性中:

connectionTimeout定义建立客户连接超时的时间.如果为-1,表示不限制建立客户连接的时间

bufferSize设定由端口创建的输入流的缓存大小.默认值为2048byte

后来同事说找到了,是connectionTimeout

我想这个明明是定义建立客户连接超时的时间的设置啊,怎么是延迟加载呢

不知道,大家除了在持久化层的设置之外还有什么方法?



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yinyuan1987/archive/2009/07/06/4326145.aspx

------解决方案--------------------
Hibernate 中的延迟加载是指不关闭 Session 的情况下,也就是保持数据库连接的情况下在用到的时候重新去查询数据表。

这个只能在服务端做到,在数据到达客户端后,对象就变成游离状态了,不可能再去之后所托管的 Session 再到数据表中去抓取数据。

Hibernate 中的延迟加载我认为就是个鸡肋,在分层体系结构中一点用处都没有。
------解决方案--------------------
顶一下!
------解决方案--------------------
你说延迟加载是加载什么?
------解决方案--------------------
gz
------解决方案--------------------
优化查询吧! 你客户端的显示数据是分页显示的吧! 你是用hibernate吗?
------解决方案--------------------
我喜欢
------解决方案--------------------
帮顶下学习..!!
------解决方案--------------------
顶一下!
------解决方案--------------------
好像是无解了。当等待时间大于connectionTimeout,数据就会丢失,自然得不到结果了。

PS:楼主提到tomcat延迟加载和持久层的延迟加载是两个概念。

可行方案是优化数据库吧。