生活随笔
收集整理的這篇文章主要介紹了
weblogic部署模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關鍵點:
1、部署為stage、nostage兩種方式
-----控制臺上只能選擇兩種方式,默認的方式實際上是stage方式,如果想要部署為
EXTERNAL_STAGE,在控制臺不行,必須通過wlst或其他方式
2、部署兩個應用mldn、jspSimpleTagEar,配置選項中內容不同,有無jsp自動刷新項
-----jspSimpleTagEar本身是wls提供的一個用于測試的小應用,正常我們自己的寫的應用部署后,在配置項中都會有jsp自動檢測等參數,但是最好設置該參數是在weblogic.xml中
3、stage方式下:plan.xml更新應用與在weblogic.xml中添加jsp自動檢測,能達到相同的效果;weblogic.xml中不添加jsp自動檢測,修改頁面應用不會自動刷新,必須重啟生效
那么在nostage方式下呢?
-------該模式下,仍舊需要plan.xml與weblogic.xml,這樣只要修改源代碼htm或者jsp,就會馬上生效?
綜上,我們結合weblogic的應用加載原理得到如下結論:
nostage部署:應用加載的源程序在給定的某一目錄C:\jsptest下,應用部署是將該C:\jsptest加載到內存中,經過編譯真正運行起來后跑的應用是E:\Oracle\Middleware\user_projects\domains\base_domain\servers\Test1\tmp\_WL_user\jsptest。如果在weblogic.xml中沒有設置jsp自動檢測,你修改C:\jsptest下的任何htm或者jsp頁面,訪問對應的頁面不會有修改,即便是重啟節點服務器Test1也不會生效,因為weblogic運行的一直是...\base_domain\servers\Test1\tmp\_WL_user\jsptest,除非是將應用重新部署;如果在weblogic.xml中設置了jsp自動檢測,那么weblogic根據你設置的檢測頻率,會定期的去C:\jsptest下進行檢測,如果發現有修改,就會自動編譯,對應的...\base_domain\servers\Test1\tmp\_WL_user\jsptest也會同步更新,所以可以實時的看到修改后的效果stage部署:相比較nostage部署方式,stage部署是將應用源程序C:\jsptest首先復制到節點服務器Test1的stage目錄下,然后將E:\Oracle\Middleware\user_projects\domains\base_domain\servers\Test1\stage\jsptest加載到內存中,經過編譯真正運行起來后跑的仍然是E:\Oracle\Middleware\user_projects\domains\base_domain\servers\Test1\tmp\_WL_user\jsptest。這時候你如果在weblogic.xml中設置了jsp自動檢測,那么你應該修改的源程序就不是C:\jsptest,而是E:\Oracle\Middleware\user_projects\domains\base_domain\servers\Test1\stage\jsptest,weblogic會定時的去......\stage\jsptest下進行檢測還有一種不推薦使用的修改應用的方法,就是直接去...\base_domain\servers\Test1\tmp\_WL_user\jsptest下修改
注意區分:
1、重啟wls服務器對應用的影響
2、重新部署對應用的影響
3、源文件目錄、stage目錄、tmp目錄
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
關于Plan.xml的簡單說明
1、點開應用testjsp的
配置--》
一般信息,修改“上下文根:”,激活更改后,應用就會生成一個Plan.xml,對應的stage目錄下生成的是Plan目錄
此時訪問應用,會報503錯誤,原因是應用的狀態不是“活動”,需要啟動應用
2、如果再次修改應用的“上下文根:”,需要先修改,后
更新應用才能生效
==============================================================================================================================
源可訪問性【weblogic為10.3.3版本】 |
應如何使該源文件可訪問?
|
| 使用部署的目標定義的默認值 | ? |
推薦的選擇。
|
| 將此應用程序復制到每個目標 | ? |
在部署過程中,文件將被自動復制到向其定位應用程序的受管服務器上。
|
| 我要使部署能夠通過下列位置進行訪問 | ? |
| 位置: | | ? |
提供所有目標將訪問此應用程序文件的位置。這通常是一個共享目錄。必須確保應用程序文件存在于此位置,且每個目標都可以訪問此位置。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
經測試,發現上面的這三種部署分別對應:
- 使用部署的目標定義默認值==》這個不確定,但默認是 STAGE
- 將此應用程序復制到每個目標==》STAGE
- 我要使用部署能夠通過下列位置進行訪問==》NO_STAGE
這三個模式的意思如下:
STAGE:管理服務器把所發布的文件從原始的位置(在管理服務器上)拷貝到目標服務器的staging目錄上。例如,如果采用stage模式發布一個JavaEE應用到集群的三個服務器上,這個管理服務器會在集群中的每一個服務器上都拷貝一份。每一個服務器使用拷貝過來的本地的文件來發布JavaEE應用。
NO_STAGE :不復制文件到節點服務器,不在weblgoic的部署目錄下面生成staging目錄,管理服務器(AdministrationServer)并不拷貝所發布文件,相反,每一個目標服務器必須通過一個單一源文件夾來訪問這個文件并進行發布。目標服務器(targetservers)上的stage目錄在nostage模式下會被忽略。
例如,如果你發布了一個JavaEE應用程序到集群中的三個服務器,那么每一個服務器必須能夠訪問相同的應用程序文件(從一個共享的網絡目錄)去發布程序。
EXTERNAL_STAGE:這個模式無法在控制臺中使用,與STAGE相似,目標服務器使用本地的拷貝來發布應用。然而,管理服務器并不自動的拷貝所發布的文件到目標服務器;相反,在發布之前,你必須拷貝這些文件到每一個目標服務器的staging目錄。你可以手工的執行拷貝或者用自動化腳本。
如何查看是使用的哪些模式呢?可在域目錄下面的config/config.xml里面的app-deployment節點下面的,節點中看到。
?
總結
以上是生活随笔為你收集整理的weblogic部署模式的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。