前几天,跟踪产品的运行状况时,发现每次登录时,都要下载几十KB的数据,查了一下,发现是DWR的engine.js。
查了一下DWR的相关文档,其官方文档提供了对engine.js进行缓存的方法,步骤如下:
1、解压dwr.jar中的org/directwebremoting/engine.js到目录中;
2、将其中226行到242行之外的所有内容剪切到新的文件:sengine.js;
3、保存engine.js,并替换dwr.jar包中的org/directwebremoting/engine.js文件;
4、将sengine.js同其他的js一起压缩使用。
在测试系统上升级后,发现更新的内容是变小了,不到1KB,但是发现第二次下载是内容不全,而生产系统上每次下载的内容都是全的,很奇怪。
后来使用HttpWatch对http Header进行分析,发现生产系统上对此文件的修改时间标示不同。通过研究DWR的源码,发现其对engine.js的修改标示使用了类的加载时间,也就是说,http header中的修改时间是由类的加载时间决定,生产系统中采用了集群部署,共有三四台应用层,由于每台应用层启动的时间有差异,导致每台应用层上engine.js的修改时间不相同,最终导致同一用户每次登录时调度到不同的服务器上时都必须重新下载此文件。
最终还是按照官方的文档进行了升级,但engine.js还是每次会重新下载,只不过内容变小了
分享到:
相关推荐
dwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwr
dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;
dwr 框架dwr 框架dwr 框架dwr 框架dwr 框架dwr 框架
DWR中文文档DWR中文文档DWR中文文档DWR中文文档DWR中文文档
dwr中文文档dwr中文文档dwr中文文档dwr中文文档dwr中文文档dwr中文文档dwr中文文档
dwr源码
dwr笔记 dwr自学资料 dwr笔记 dwr自学资料 dwr笔记 dwr自学资料
1、 导入dwr.jar包 2、 在web.xml中配置dwr,如下: <!-- 配置DWR --> <servlet-name>dwr-invoker org.directwebremoting.servlet.DwrServlet <init-param> <param-name>debug</param-name> ...
Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr...
DWR配置文件详解 DWR配置 DWR配置文件
DWR介绍DWR介绍DWR介绍DWR介绍DWR介绍DWR介绍
dwr填充表格示例dwr填充表格示例dwr填充表格示例
dwr2.0.6 dwr2.0.6dwr2.0.6dwr2.0.6dwr2.0.6dwr2.0.6dwr2.0.6dwr2.0.6
dwr1.0版本 dwr2.0版本 dwr3.0版本的jar包
dwr包.rar dwr.jar engine.js util.js dwr-noncla.jar readme.txt JAR File: dwr.jar (1.08Mb) To DWR enable your web-app WAR File: dwr.war (4.62Mb) Demos/Examples of what DWR can do Sources: dwr-...
dwr分页源码,dwr分页源码 dwr分页源码,dwr分页源码
dwr 2.jar dwr 2.jar
DWR3.0.jar、DWR的实例war和DWR2.0中文说明文档
DWR快速配置入门.DWR快速配置入门.DWR快速配置入门.DWR快速配置入门.DWR快速配置入门.DWR快速配置入门.
DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java...