2011-01-13 65 views
1

我有一個jboss 5.1.0 AS和ejb 3.0 bean。在JBOSS上熱部署時EJB不會更新

問題是,當我使用ant構建文件將bean重新部署(熱)到服務器時,不做任何更改。每次重新部署bean時,我都必須重新啓動服務器。操作系統是Ubuntu 9.04。

我已經完成了以下操作: 1)檢查bean jar文件是否構建正確。 2)檢查角色(我想過一些訪問問題)。 3)到處檢查某種緩存。

但仍然沒有運氣。

任何幫助,將不勝感激。

回答

1

你在哪裏複製你的EAR?您應該將其複製到部署目錄。在這種情況下,JBoss通常知道重新部署應用程序。通常但不總是。

因此,請嘗試執行以下操作。首先,驗證您是否真的將EAR複製到部署目錄。其次,停止JBoss並清理工作和tmp目錄。現在啓動jboss,等待幾分鐘,然後將EAR複製到部署目錄。我希望它能起作用。

請注意,JBoss無法多次重新部署應用程序。根據我的經驗,它工作5-10次。然後你得到OutOfMemoryError(PermGen)。此時你必須重新啓動JBoss。

+0

感謝您的回答。我將該bean複製到$ JBOSS_HOME/server/default/deploy目錄。無論如何,它看起來像某種魔術。只是爲了測試我重命名了所有的類和bean的名字,但是它仍然以其舊名稱進行部署。 – kbeat

+0

我停止了服務器,清理了tmp文件夾,這有所幫助。非常感謝你! – kbeat

0

聽起來像他很熱,部署一個EJB jar的地方,也許爆炸目錄。

根據我的經驗,在最好的情況下,熱部署是不可靠的,最糟糕的情況是服務器處於不穩定狀態(不僅僅是jBoss,它非常普遍)。

最好做的是關閉服務器,按照Alex的說明部署耳朵,然後再次啓動服務器。 jBoss的啓動時間不錯,每次迭代不會花費你一分多鐘的時間。

+0

這不是生產環境,所以關鍵是要讓事情順利進行。最主要的是事實上,我的同事的電腦上一切正常。我們的環境唯一的區別是他運行的是winxp,無論我的os是否是ubuntu。 – kbeat