2011-07-26 110 views
1

有誰知道如何更新WebLogic Server的WLS_HOME/server/lib /文件夾的內容,而無需重啓它?在不重啓的情況下更新WLS_HOME/server/lib內容

我的一位同事做了一個部署,涉及user_projects目錄中所有.ears使用的更新的.jar文件,因此他決定將其放在WLS_HOME/server/lib中。雖然他部署到user_projects的Web應用程序部署正常,但是我們注意到在服務器日誌中,它重複出現了NoClassDefFound例外情況,我們知道這些類是在更新的.jar文件中的 - 並且直到重新啓動後才重新獲得新類。

理想情況下,我需要能夠將新共享庫部署到此/ lib文件夾,而不必重新啓動服務器,因爲這涉及到停機。

有誰知道如何做到這一點?

回答

1

這是不可能的。如果您需要更多的靈活性,您應該轉移到共享Java EE庫。對於您目前的情況,只要您擁有集羣環境,唯一可以做的就是滾動重啓實例以避免停機。

Understanding WebLogic Server Application Classloading

WebLogic Server包含一個lib子目錄,位於域目錄,你可以使用一個或多個JAR文件添加到WebLogic Server系統類路徑中,當服務器啓動。 lib子目錄適用於不頻繁更改的JAR文件,這些文件對於部署在服務器中的所有或大多數應用程序或WebLogic Server本身都是必需的。例如,您可以使用lib目錄來存儲域中所有部署所需的第三方實用程序類。您還可以使用它將修補程序應用於WebLogic Server。

lib目錄不建議作爲用於共享部署在域中的一個或兩個應用程序之間的罐,或用於共享需要被週期性地更新的JAR的通用方法。 如果更新lib目錄中的JAR,則必須重新啓動域中的所有服務器,以便應用程序實現更改。如果您需要共享多個應用程序間的JAR文件或Java EE模塊,使用Java EE庫中創建共享J2EE庫和可選包的功能描述。

+0

啊,謝謝 - 我認爲這是可能的話,但我想在那裏把它扔出去,以防萬一anyone'd拿出一個黑客,使其加載它們沒有重新啓動。我們在現場系統上進行了部署,理想情況下我們不希望重新啓動,但使用WLS的腳本界面可以部署webapps。沒有辦法腳本重新加載服務器/ lib罐子呢? –

相關問題