weblogic热部署适用于jsps,但不适用于web-inf / classes

时间:2012-11-28 06:18:40

标签: weblogic weblogic-10.x hotdeploy

我正在以分解格式在weblogic 10.3中部署ear应用程序,启用快速交换并处于开发模式。 ear文件包含一个分解格式的Web应用程序。 Web应用程序中对jsps所做的更改正在重新加载。但是,更改时web-inf下的类不会重新加载。

下面给出了weblogic部署配置。 ear / META-INF中的weblogic-application.xml内容

<wls:fast-swap>
    <wls:enabled>true</wls:enabled>
    <wls:refresh-interval>10</wls:refresh-interval>
    </wls:fast-swap>
<wls:classloader-structure>
        <wls:classloader-structure>
            <wls:module-ref>
                <wls:module-uri>web.war</wls:module-uri>
            </wls:module-ref>
        </wls:classloader-structure>  
</wls:classloader-structure>
在ear / META-INF

中的

application.xml内容

    <display-name>web-ear</display-name>
  <module>
    <web>
      <web-uri>web.war</web-uri>
      <context-root>/web</context-root>
    </web>
  </module>
  <library-directory>lib</library-directory>

war / WEB-INF中的weblogic.xml内容

<wls:fast-swap>
        <wls:enabled>true</wls:enabled>
        <wls:refresh-interval>10</wls:refresh-interval>
</wls:fast-swap>

<wls:context-root>/web</wls:context-root>
<wls:session-descriptor>
        <wls:cookie-max-age-secs>-1</wls:cookie-max-age-secs>
        <wls:cookie-name>JSESSIONID_SQE_AAI</wls:cookie-name>
        <wls:cookie-path>/</wls:cookie-path>
        <wls:cookies-enabled>true</wls:cookies-enabled>
        <wls:invalidation-interval-secs>120</wls:invalidation-interval-secs>
        <wls:id-length>52</wls:id-length>
        <wls:timeout-secs>7200</wls:timeout-secs>
        <wls:url-rewriting-enabled>true</wls:url-rewriting-enabled>
        <wls:persistent-store-type>memory</wls:persistent-store-type>
        <wls:http-proxy-caching-of-cookies>false</wls:http-proxy-caching-of-cookies>
    </wls:session-descriptor>
    <wls:jsp-descriptor>
        <wls:page-check-seconds>6</wls:page-check-seconds>
    </wls:jsp-descriptor>
<wls:container-descriptor>
    <wls:servlet-reload-check-secs>6</wls:servlet-reload-check-secs>
    <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>
</wls:container-descriptor>

上面的配置是否正确?是否有我错过的配置详细信息包含在这里?我应该检查哪些其他设置或配置? 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

即使在应用程序中启用了FastSwap,在类加载器结构中声明的模块也不支持FastSwap,因为它们不是由RedefiningClassLoader加载,而是由GenericClassLoader加载。 您可以通过在WEB-INF / classes下打印类的类加载器来测试它,并检查它是否是com.bea.wls.redef.RedefiningClassLoader。

我努力让他们一起工作,你可以在这里看到更多细节https://forums.oracle.com/forums/thread.jspa?threadID=2476484&tstart=60但不幸的是,到目前为止还没有解决方案。

问候。

相关问题