首页 » 未分类 » 正文

weblogic11g(10.3.6)生产模式下设置jsp自动重新加载

在生产环境部署weblogic11g后,发布后,如果对jsp文件进行改动,则必须要需要重新启动weblogic,改变的内容才能加载。

推测和weblgoic的生产模式有关。

经查,可以在weblogic.xml中对 JSP文件检查周期设置

刚开始查到的解决方法如下:

1
2
3
4
5
6
7
<weblogic-web-app>
  <jsp-descriptor>
   <jsp-param>
     <param-name>pageCheckSeconds</param-name>
     <param-value>-1</param-value>
   </jsp-param>
  </jsp-descriptor>

启动后,报错,提示pageCheckSeconds是无效,再查:

1
2
3
4
<jsp-param>
<param-name>page-check-seconds</param-name>
<param-value>5</param-value>
</jsp-param>

启动后,错误依旧:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<Error> <J2EE> <BEA-160197> <Unable to load descriptor /app/webapp/oaweb2/WEB-INF/weblogic.xml of module oaweb2. The error is weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND
problem: cvc-complex-type.2.4a: Expected elements ‘keepgenerated@http://xmlns.oracle.com/weblogic/weblogic-web-app package-prefix@http://xmlns.oracle.com/weblogic/weblogic-web-app super-class@http://xmlns.oracle.com/weblogic/weblogic-web-app page-check-seconds@http://xmlns.oracle.com/weblogic/weblogic-web-app precompile@http://xmlns.oracle.com/weblogic/weblogic-web-app precompile-continue@http://xmlns.oracle.com/weblogic/weblogic-web-app
verbose@http://xmlns.oracle.com/weblogic/weblogic-web-app
working-dir@http://xmlns.oracle.com/weblogic/weblogic-web-app
print-nulls@http://xmlns.oracle.com/weblogic/weblogic-web-app
backward-compatible@http://xmlns.oracle.com/weblogic/weblogic-web-app
encoding@http://xmlns.oracle.com/weblogic/weblogic-web-app
exact-mapping@http://xmlns.oracle.com/weblogic/weblogic-web-app
default-file-name@http://xmlns.oracle.com/weblogic/weblogic-web-app
rtexprvalue-jsp-param-name@http://xmlns.oracle.com/weblogic/weblogic-web-app
debug@http://xmlns.oracle.com/weblogic/weblogic-web-app
compress-html-template@http://xmlns.oracle.com/weblogic/weblogic-web-app
optimize-java-expression@http://xmlns.oracle.com/weblogic/weblogic-web-app
resource-provider-class@http://xmlns.oracle.com/weblogic/weblogic-web-app
strict-stale-check@http://xmlns.oracle.com/weblogic/weblogic-web-app’
instead of’jsp-param@http://xmlns.oracle.com/weblogic/weblogic-web-app’here in element
jsp-descriptor@http://xmlns.oracle.com/weblogic/weblogic-web-app:<null>
 
</weblogic-web-app>

根据错误信息,到http://xmlns.oracle.com/weblogic/weblogic-web-app这个地址查看他的dtd文档,根据自己的版本查看“1.3 : Released with WLS v10.3.6.0”,在文件中有如下信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<xs:complexType name=”jsp-descriptorType”>
<xs:sequence>
<!– Keep generated .java source files –>
<xs:element name=”keepgenerated” type=”wls:true-falseType” minOccurs=”0″ />
<!– package prefix for the generated jsp file –>
<xs:element name=”package-prefix” type=”xs:string” minOccurs=”0″ />
<!– super-class to be used for the generated jsp class –>
<xs:element name=”super-class” type=”xs:string” minOccurs=”0″ />
<!–
Interval at which the jsp servlet class is checked for
staleness against the jsp resource
default: 1
–>
<xs:element name=”page-check-seconds” type=”javaee:xsdIntegerType” minOccurs=”0″ />
<!–
compiles all modified jsps at webapp application deployment time or
server startup time. default: false
–>
<xs:element name=”precompile” type=”wls:true-falseType” minOccurs=”0″ />

最后,改成如下:

1
2
3
4
5
 
<jsp-descriptor>
<!– 10s reload jsp –>
<page-check-seconds>10</page-check-seconds>
</jsp-descriptor>

重启weblogic,并测试jsp改动,一切OK!!!

发表评论