2015-11-04 127 views
1

我是使用JBoss 7.1.1服務器的新手,對於我觀察到的行爲感到困惑。爲什麼JBoss總是重新部署已部署但未更改的.WAR文件?

我的JBoss服務器正在部署我已經放在.\jboss-as-7.1.1.Final\standalone\deployments文件夾中的six jBPM .war files (designer, drools-guvnor, jbpm-form-builder, jbpm-gwt-console, jbpm-gwt-console-server, jbpm-human-task-war)

當我第一次啓動服務器時,它檢測到這些文件並部署它們。我看到deploymentNNNtempNNN文件夾出現在.\jboss-as-7.1.1.Final\standalone\tmp\vfs文件夾中。這與我使用tomcat服務器時所熟悉的行爲類似。

然後關閉服務器,觀察在.\jboss-as-7.1.1.Final\standalone\tmp\vfs中創建的兩個文件夾是否保留,但其內容會自動刪除。當我重新啓動服務器時,它再次部署六個jBPM的文件到.\jboss-as-7.1.1.Final\standalone\tmp\vfs.

,因爲沒有修改過的六個jBPM的文件,問題在於,這一調動需要3〜這是非常令人驚訝的一對新的文件夾4分鐘。

如果這只是發生在「生產」環境中,那麼這可能不是什麼大問題。不過,我正嘗試將JBoss服務器與Eclipse Kepler集成在一個開發環境中,並且每次更改代碼都需要等待3到4分鐘,而服務器啓動並不實際。

1)任何人都可以解釋爲什麼JBoss難以重新部署尚未更改的文件?

2)這是可以通過配置設置更改的行爲嗎?

3)是否有任何設置,我們可以停止JBoss重新部署war文件,當它重新啓動

謝謝 所有

回答

2

爲了從重新部署您的應用程序停止JBoss的(和在關機時刪除),

嘗試以解壓縮的形式部署應用程序。

  • 文件解壓到{name}.war directories(e.g /designer.war, /drools-guvnor.war)

    ,然後部署這些目錄(即它們複製到部署文件夾)

或者,嘗試使用JBoss CLI

+0

謝謝你的幫助。將文件解壓到{name} .war目錄可避免重新部署 –

0
部署它們

以不同方式部署不會改變啓動時JBOSS將您的應用程序重新加載到JVM的事實。

這可能需要時間,因爲您的應用程序將數據庫中的數據存儲到您的服務器內存中。 (你可能也被擊中this WFLY-925 bug ......或者他們在談論here的一個......)

的事情是你通常重新部署時不需要完全重新啓動服務器。您可以hot-deploy your module - see also full doc.自動部署模式。(確保feature isn't disabled

如果你需要一些context to be reloaded,我建議你在你的代碼中的特定程序,您可以調用重新加載所有緩存信息。而不是重新啓動完全(例如,具有一個特定的URL呼叫您應用程序這樣做...)

+0

'通常'是關鍵字:) 我需要重新啓動完全我的JBoss,因爲它不' t在我的某個模塊上進行熱部署時加載所有更改。但是另一個模塊可能沒有改變,所以我不希望這個模塊總是重新部署。 –

+0

這就是我的意思是「重新加載一些上下文」。您必須清楚地確定需要重新加載的內容(數據?),並具有特定的功能。然後你只需調用該函數(特定的url?,線程?)而不是重新啓動。 –