英文文檔如下:
http://download.oracle.com/docs/cd/E12840_01/wls/docs103/deployment/deploy.html#wp1029629
設置staging mode的文檔如下
http://download.oracle.com/docs/cd/E12840_01/wls/docs103/ConsoleHelp/taskhelp/deployment/SetAServerStagingMode.html
下面是部分翻譯,鑒于英文水平,這翻譯的實在太差,只能自己對付著看
Nostage:管理服務器(Administration Server)并不拷貝所發布文件,相反,每一個目標服務器必須通過一個單一源文件夾來訪問這個文件并進行發布。目標服務器(target servers)上的stage目錄在nostage模式下會被忽略。
例如,如果你發布了一個Java
EE應用程序到集群中的三個服務器,那么每一個服務器必須能夠訪問相同的應用程序文件(從一個共享的網絡目錄)去發布程序
備注:發布文件的來源在nostage模式下是一個路徑,這個路徑是在發布的時候有用戶提供(與stage模式相反,stage模式的來源是每一個服務器的stage目錄)。盡管如此,甚至在nostage模式中,weblogic服務器拷貝出部分deployment到臨時目錄。這能使用戶去更新整個發布文件或者部分發布文件。
在nostage模式中,web容器自動的檢測jsp或者servlet的改變。Nostage also allows you to later
update only parts of an application by updating those parts in one file system
location and then redeploying.
當僅僅發布到管理服務器的時候,管理控制臺使用nostage模式作為默認值。Weblogic.Deployer使用目標服務器的staging模式(就是看目標服務器是哪種模式),管理服務器上默認使用nostage模式。如果你在一個主機上運行一個集群,或者你通過一個共享目錄發布一個非常大的應用到多個主機,那么也可以選擇nostage模式。用nostage模式來發布大應用會節省發布時間,因為不需要復制文件。
Stage:管理服務器把所發布的文件從原始的位置(在管理服務器上)拷貝到目標服務器的staging目錄上。例如,如果你采用stage模式發布一個Java EE應用到集群的三個服務器上,這個管理服務器會在集群中的每一個服務器上都拷貝一份。每一個服務器使用拷貝過來的本地的文件來發布Java EE應用。
這里有個需要住的地方(個人記錄):在weblogic10+中,如果清除了集群中一個服務器的緩存,比如這個服務器叫appserver1,或者刪除了stage目錄下的文件,那么程序不會自動從管理服務器上自動把程序同步到appserver1的stage目錄,只有重新向管理服務器發布程序(是管理服務器,如果重新向appserver1發布程序,程序也不會被復制到stage目錄),這樣程序才會被拷貝到appserver1的stage目錄;再有一種情況,如果我在源目錄更改了jsp內容,那么appserver1也不會同步這個jsp文件,必須人工的去appserver1的stage目錄去替換該jsp文件,才能做到及時更新。這也是采用nostage的一個好處,修改之后會立刻看到效果。
如果不指定staging 目錄,那么默認的目錄是stage:
· For exploded archive deployments,
the deployment name and staging subdirectory are the name of the directory you
deployed (physicianEar in the example above).
· For archived deployments, the default deployment name is the
name of the archive file without the extension. For example, if you deploy
physicianEar.ear, the deployment name and staging subdirectory are
physicianEar.
當發布到多個weblogic實例的時候,管理控制臺使用stage模式作為默認模式。Weblogic.Deployer使用target服務器的staging mode作為默認,并且托管的服務器使用stage模式作為默認。
Stage模式保證每一個服務器有一個發布的本地拷貝,這樣由于一個網絡中斷會使管理服務器連接不上其他服務器也沒關系(因為它用的是本地發布)。如果你正要發布一個大的應用到集群中的多個服務器,那會是非常耗費時間的。可以考慮nostage模式去避免往多個服務器拷貝大文件的多余舉動
External_stage:與stage相似,目標服務器使用本地的拷貝來發布應用。然而,管理服務器并不自動的拷貝所發布的文件到目標服務器;相反,在發布之前,你必須拷貝這些文件到每一個目標服務器的staging目錄。你可以手工的執行拷貝或者用自動化腳本。
Within each target server’s staging directory,
deployment files must be stored in a subdirectory that reflects the deployment
name. This can either be the name you type in for the deployment, or the
default deployment name (the name of the exploded archive directory, or the
name of the archive file without its file extension).
External_stage mode is
the least common deployment staging mode. It is generally used only in
environments that are managed by third-party tools that automate the required
copying of files. You may also choose to use external_stage mode when you are
deploying very large applications to multiple machines and you do not have a
shared file system (and cannot use nostage mode). Using external_stage in this
scenario decreases the deployment time because files are not copied during
deployment.