2012-08-01 99 views
1

我有一個Java EE Web應用程序,該應用程序在2節點集羣上運行WAS 7.0.此Web應用程序具有多個jar文件,其中每個jar文件都包含一個實用程序列表。我可能在將來添加 jar文件到這個Web應用程序。 當我們向它添加新的罐子時,我們不希望這個Web應用程序停機。向Web應用程序添加新的jar文件而不重新啓動它

是否有可能增加新的jar文件的Web應用程序,而不需要重啓?這些更改是否會立即生效?

如何更新其已經由類加載加載現有的jar文件?有沒有可能做到這一點,而無需重新啓動它?

我讀到在WAS Hot deployment一種叫。他們提到,Hot Deployment在Solaris和HP-UX操作系統上不起作用。

可否請你建議解決這個問題的最佳途徑?

回答

2

是否可以將新的jar文件添加到Web應用程序中而不需要 重新啓動?這些更改是否會立即生效?

不,無法在不重新啓動應用程序的情況下向類加載器添加新的JAR。即使您創建一個空的JAR並稍後進行更換,也無法使更改在0中斷時生效:至少該模塊仍將被重新啓動。

如何更新已加載的 類加載的現有jar文件?有沒有可能做到這一點,而無需重新啓動它?

你不能,這是不可能的。

我讀了一些關於WAS中熱部署的內容。他們提到 ,Hot Deployment在Solaris和HP-UX操作系統上不起作用。

熱部署確實允許類替換(但不是整個JAR),並且停機時間爲0。

其他選擇:

  • 使用路由技術(HTTP代理,WVE),和波紋重新啓動應用程序(即,在時間重新啓動一個集羣成員上的應用程序,並路由中間流量另一臺服務器在此期間)。
  • 使用類似JRebel的東西。我的理解是,它主要針對開發環境,但也可能支持生產。
相關問題