2012-11-28 97 views
1

我正在以啓用快速交換和dev模式的分解格式在weblogic 10.3中部署ear應用程序。 ear文件還包含一個也是分解格式的網頁應用程序。在web應用程序中對jsps所做的更改正在重新加載。但是web-inf下的類在更改時不會重新加載。weblogic熱部署適用於jsps,但不適用於web-inf/classes

weblogic部署配置如下。在戰爭/耳/耳/ 的weblogic-application.xml中的內容META-INF

<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> 

的application.xml內容META-INF

<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> 

的weblogic.xml內容WEB-INF

<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> 

上述配置是否正確?有沒有我錯過的配置細節包括在這裏?我應該檢查什麼其他設置或配置? 任何幫助將非常感謝,謝謝。

回答

0

即使在應用程序中啓用FastSwap,在classloader結構中聲明的模塊也不會支持FastSwap,因爲它們不是由RedefiningClassLoader加載的,而是由GenericClassLoader加載的。 您可以通過在WEB-INF/classes下打印類的類加載器來測試它,並檢查它是否爲com.bea.wls.redef.RedefiningClassLoader。

我努力讓他們一起工作,你可以在這裏看到更多的細節https://forums.oracle.com/forums/thread.jspa?threadID=2476484&tstart=60但不幸的是,迄今爲止還沒有解決方案。

問候。

相關問題