2011-10-10 129 views
3

我是JBoss Seam和Java Web應用程序開發的新手。有一件事我在學習一些教程的時候弄不明白的是,如何重新部署我在EJB項目中進行了更改的bean,而無需重新啓動承載JBoss Seam Web項目的JBoss應用服務器(6.0),該項目使用豆類。 JBoss AS需要大約2分鐘才能啓動,並且目前很難對項目進行更改和重新部署。如何在不重新啓動服務器的情況下重新部署EJB項目

,我已經在網絡上閱讀的一些建議包括:

  • 使用JMX控制檯如。去http://localhost:8080/jmx-console/ ...好的,但是怎麼樣?我該怎麼做?
  • 爲ant創建一個build.xml文件,並得到某種自動部署的事情......有沒有什麼好的例子?

你們其他人更有經驗的JBoss Seam web應用程序開發人員如何更快地部署您的項目?

任何幫助非常感謝,謝謝。

回答

0

這可能是由於以下幾個原因:

  1. 應用程序試圖保持狀態。
  2. 新部署的應用程序具有與舊版應用程序不同的類加載器。
  3. 其他隨機原因。在我們的例子中,jboss-classloading.xml配置不正確,導致熱部署不起作用。

您是否對JBoss配置進行了任何更改?這也可能導致熱部署問題。

祝你好運。

+0

如上所述,我的JBoss AS一次部署了太多不需要的項目......在取消部署一些後,速度並不慢。感謝配置問題,我會關注他們。 – fuzzyanalysis

0
  1. 使用JBoss熱重新部署功能:只需從部署目錄中刪除您的EAR(WAR),並在那裏複製您的新版本。
  2. 從IDE(Eclipse)以調試模式啓動JBoss。然後一些代碼更改可以直接熱插拔到JVM中。如果熱插拔失敗,請執行1.熱重新部署。
  3. 試試偉大的JRebel插件。比2.更強大的JVM熱插拔。您可以將Jrebel與1.熱重新部署結合使用 - 當JRebel插件失敗時,請執行熱重新部署。

只要小心,熱重新部署可能會在某些庫(例如Jasperreports)中顯示memory leaks。如果是這樣,請重新啓動服務器。但是你很少需要重啓JBoss。

+0

謝謝。我發現JBoss AS的速度緩慢是因爲它一次部署了太多的項目(我沒有解除舊項目的部署,這是什麼錯誤!)。感謝您的幫助,如果我將來遇到同樣的問題,我會嘗試提到的熱門部署選項。 – fuzzyanalysis

0

我被告知的另一個選擇是在JBoss中使用「Touch Descriptors」按鈕(它類似於「快速重新部署」選項)。

Touch Descriptors icon in JBoss Dev Studio 4.0

開發工作室4.0了吧,不知道早期版本雖然。顯然它會在服務器上創建一個新的時間戳,並強制重新讀取web.xml文件,從而重新部署。

相關問題