2013-02-28 35 views
0

我是weblogic的新手,想知道: 在部署的管理控制檯中,您可以選擇部署並單擊停止(選項a:工作完成時,b:強制停止,c:停止,但繼續爲管理請求提供服務) 。停止命令做什麼? 我看過http://docs.oracle.com/cd/E15523_01/apirefs.1111/e13952/taskhelp/applications/StopDeployedEnterpriseApplications.html在weblogic管理控制檯>部署中,stop命令的作用是什麼?

但我還是不明白。從其他閱讀中我已經收集到,停止調用servlet的destroy()方法(如果存在),然後刪除容器(從部署?)? 我有一個帶有destory()方法的servlet,我想知道是否我甚至需要調用它,或者如果刪除部署很好。 當我試圖迫使立即停止,並停止工作時,在部署完成後,我得到的消息:

The application _auto_generated_ear_ is in an incompatible state and will not be included in this operation. 
All of the Deployments selected are currently in a state which is incompatible with this operation. No action will be performed. 

有沒有人有一個鏈接的過程是怎樣的,這些停止命令進行的?

回答

1

首先,如果應用程序正在運行,則無法刪除它。如果您嘗試這樣做,您將收到錯誤「應用程序xxxxx當前正在運行,並且可能不會被刪除」。

其次,如果是生產系統,最好是做一個stop-當工作完成時。在這種情況下,應用程序將停止處理新請求,但會繼續爲正在進行的會話處理來自用戶的請求提供服務。因此它對於最終用戶來說不會有什麼破壞性。

如果重新啓動服務器,該怎麼辦?重啓後消息是否消失?

如果由於某些奇怪的原因,應用程序拒絕停止/刪除,您可以隨時關閉服務器,刪除config.xml中的相應條目並再次啓動服務器。

編輯:基於評論

自動生成的EAR功能本身是OEPE如何發佈獨立的WAR模塊WLS優化的一部分。 WLS分割源部署功能需要EAR,因此OEPE爲分割源部署用戶生成一個。我懷疑你的問題可能是由這個自動生成的耳朵引起的。

但是,它看起來像是具有分割源部署的開發環境。爲什麼需要通過控制檯啓動/停止應用程序或刪除應用程序?爲什麼不能通過OEPE將應用程序重新發布到服務器?它會在應用程序中選擇新的更改。要回答你的問題,刪除基本上是取消部署該應用程序。 停止不會取消部署您的應用程序。它只是停止服務請求。該應用程序仍按部署屏幕中所示進行部署。

+0

_auto_generated_ear是使用OEPE在eclipse中創建的。我在web動態項目上使用了運行在服務器上的命令,該動態項目中有一個servlet,並在web.xml中定義,其上下文根在weblogic.xml中定義。它不在自動部署文件夾中。 project.war文件位於:base_domain \ servers \ AdminServer \ tmp \ .appmergegen_1361979966947 \ project.war 因爲我是weblogic/web服務的新手,所以我仍然不確定創建_auto_generated_ear是什麼。我認爲weblogic部署過程創造了這一點。我無法在基本域目錄中找到它。 – jon 2013-02-28 18:08:48

+0

在管理控制檯中,.war顯示爲_auto_generated_ear的模塊。是的,這是我試圖阻止的應用程序。刪除作品。這個servlet實例化了一些線程,並且在destroy方法中我優雅地關閉了它們。正如我剛纔提到的,我並不完全瞭解停止和刪除之間的區別(爲什麼刪除工作和停止不?),但我更喜歡能夠使用start和stop按鈕/命令,而不是每次重新部署。 – jon 2013-02-28 18:13:47

+0

所以我發現_auto_generated_ear是由eclipse創建的,位於工作區\ .metadata \ .plugins \ org.eclipse.wst.server.core \ tmp1 \ base_domain \ _auto_generated_ear_ – jon 2013-02-28 18:37:43

相關問題