2013-08-21 81 views
1

我注意到,這兩個選項可供選擇,同時運行JBoss之間的區別,他們都重新編譯項目(我注意到「讓」對運行)。我確實看到this question,接受的答案是有道理的,但我不確定熱交換的含義。什麼是可以在不需要重新啓動服務器的情況下進行註冊的更改示例?是什麼重新啓動JBoss服務器和重新部署它

+0

你是什麼意思「,他們都重新編譯項目Maven的/ Ant來管理JBoss的?或者,也許Eclipse中/的NetBeans/...? – JScoobyCed

+0

我使用Maven,忘了提。 – Siddhartha

回答

2

你的問題需要更多的細節完整地回答,但這裏有一些基本的概念:

  • 熱交換僅僅是項目的文件替換到應用服務器的部署文件夾(沒有包裝,即不.war/.ear但是所有單獨的文件)。它通常更快,因爲更改在Web應用程序中立即可見。但它並不總是可能的/得到應用程序服務器的支持,並且通常如果熱插拔.jar文件,那麼應用程序服務器不會選擇它或最終導致混淆。
  • 重新啓動JBoss將停止所有現有服務(EJB,Pooling,Queues,Messaging ...)並重新啓動它們。這幾乎是運行應用程序(最乾淨的將取消部署,重新啓動和部署)
  • 重新部署意味着您的應用程序和服務首先從JBoss的刪除,但在服務器級別的其他服務設置(消息,池最徹底的方法,JMX,...取決於您的實際設置)仍然部署。然後將應用程序部署

通常(從你的dev的文件夾或.WAR/.EAR到JBoss Web應用程序複製),你會熱插拔(最終手動)。(X)HTML /的.jsp/.jsf/images/.js/.css安全,因爲JBoss不需要處理它們。 更改WEB-INF/classes中部署爲.class的java類中的代碼通常可以進行熱插拔。在java文件

更改代碼部署的.jar幾乎總是至少需要重新部署。一些正確配置的OSGi應用服務器在熱交換整個應用程序(我知道Glassfish所做的但我不知道需要什麼特定設置)時更加靈活

最後,在開發過程中,有時多次重新部署會導致內存泄漏或不穩定的應用服務器:.是否使用(你經常會得到在日誌中OutOfMemory例外),那麼你需要清理(取消部署,停止,啓動再部署)

+0

我明白了,所以它的JBoss的支持是一個問題,和文件格式。感謝您的回答。 – Siddhartha

相關問題