jsp - 长时间重新加载页面,因为 weblogic 12.2.1.3.0 触发每个页面访问都重新编译 jsp
问题描述
我使用 weblogic 12.2.1.3.0 并且每次(不仅是第一次)我访问一个网页我都会等待 2 分钟以使其呈现,因为 weblogic 显然会重新编译它包含的所有 jsps。每个页面都由使用 apache tile 3.0 的片段组成,使用如下定义:
<definition name="includeTemplate" template="/WEB-INF/jsp/templates/includeTemplate.jsp">
<put-attribute name="content" value="/WEB-INF/jsp/index.jsp"/>
<put-attribute name="headContent" value=""/>
<put-list-attribute name="dialogs">
<add-attribute value="messageDialogDef"/>
<add-attribute value="validationDialogDef"/>
<add-attribute value="detailDialogDef"/>
</put-list-attribute>
</definition>
Weblogic 在它的日志文件中抛出了很多这样的消息:
<BEA-101360> <Recompiling JSP [ServletContext@1759767545[app:app-ear_ear module:/app path:null spec-version:3.1]], resource [/WEB-INF/jsp/templates/list/menu.jsp], because it is stale.>
我也使用 spring (mvc) 4.3.21
知道发生了什么以及如何避免只进行无用的重新编译吗?
解决方案
这是一个已知的错误。WLS 12.2.1.3.0 有一个补丁
推荐阅读
- node.js - 如何在 MongoDB 中使用 nodejs 中的日期进行聚合查询?
- c++ - C++ 多访问说明符和初始化顺序
- c++ - 错误:“preLaunchTask 'C/C++: g++.exe build active file' 以退出代码 1 终止”
- java - 如何使用 Java 将 Avro 架构发送到 GCP BigQuery?
- c - “邻居”声明变量的指针运算
- c# - 为并行 API 调用添加延迟
- reactjs - 如何在表格中的反应选择外部滚动中显示菜单样式?
- javascript - 如何将 Node 添加到前端?
- java - 什么解释了 java 中双精度的范围?
- python - ModuleNotFoundError:python 中没有名为“sksurv”的模块