<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ZT文萃

    本博不原創(chuàng),轉(zhuǎn)帖自己感興趣那些事人物,什么入眼貼什么,隨心所欲。
    posts - 93, comments - 5, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1207_zhuxl_liberty/1207_zhuxl_liberty.html

    2012 年 6 月 15 日,IBM 正式發(fā)布了 WebSphere Application Server V8.5 版本(簡稱 WAS V8.5)。WebSphere Liberty Profile Server(簡稱 Liberty)是 WAS V8.5 中最主要的新特性,它是一個基于 OSGi 內(nèi)核,高模塊化,高動態(tài)性的輕量級 WebSphere 應(yīng)用服務(wù)器,其安裝極為簡單(解壓即可)、啟動非常快、占用很少的磁盤和內(nèi)存空間,支持 Web、mobile 和 OSGi 應(yīng)用的開發(fā),旨在提高開發(fā)人員的生產(chǎn)效率。

    在本文中,我們將詳細(xì)介紹什么是 Liberty 以及如何使用 Liberty 快速的開發(fā)和部署應(yīng)用,使讀者迅速的掌握這一全新的輕量級應(yīng)用服務(wù)器。

    0 評論:

    朱 修磊, 軟件工程師, IBM

    2012 年 7 月 19 日

    • +內(nèi)容

    什么是 WebSphere Liberty Profile Server ?

    Liberty 是一款全新的輕量級應(yīng)用服務(wù)器,它將用戶的良好開發(fā)體驗(yàn)作為最主要的出發(fā)點(diǎn)。其主要特點(diǎn)和內(nèi)容包括:

    • 高 模塊化——該功能允許用戶根據(jù)自己應(yīng)用程序的需求啟用或者禁用相關(guān)的 feature(所謂 feature,在這里指的是運(yùn)行應(yīng)用程序所需要的各種資源的支持。比如,應(yīng)用程序用到了 JSP,我們就需要啟動 JSP 這個 feature,如果不在需要此 feature,就可以將其禁用。通過這種模塊化的控制,我們可以按需啟動不同的 feature,包括 JSP, Servlet, JPA 等等,這種控制是實(shí)現(xiàn)輕量級應(yīng)用服務(wù)器的基礎(chǔ))。
    • 輕量級—— Liberty 采用了多種技術(shù)進(jìn)行瘦身和優(yōu)化(主要是 OSGi 的應(yīng)用),與傳統(tǒng)的 WAS 相比,極大的減少了運(yùn)行時的內(nèi)存消耗。
    • 高動態(tài)性——由于采用了 OSGi 的架構(gòu),程序員在開發(fā)的時候,可以動態(tài)修改配置文件,應(yīng)用程序以及服務(wù)器的運(yùn)行時信息,這些修改都是實(shí)時生效的,不需要重啟服務(wù)器。
    • 快速——由于采用了高模塊化的設(shè)計(jì),Liberty 應(yīng)用服務(wù)器會“按需啟動”,自身消耗的系統(tǒng)資源很少,對執(zhí)行任務(wù)的反應(yīng)時間也非常短,例如,一般來說 Liberty 的啟動時間小于 5 秒。
    • 配置簡單——在整個開發(fā)過程中,用戶只需要和一個配置文件(server.xml)打交道,而且配置的使用也非常靈活。

    盡 管 Liberty 與傳統(tǒng) WAS 相比只是一個“小塊頭”,但是在 Web 和 OSGi 應(yīng)用程序的開發(fā)上,Liberty 與傳統(tǒng) WAS 完全保持一致,在 Liberty 上開發(fā)的程序,可以直接移植到傳統(tǒng) WAS 上,不需要做任何的改變。相比傳統(tǒng) WAS 的龐大,Liberty 在為用戶提供良好的開發(fā)體驗(yàn)上遙遙領(lǐng)先。

    作為應(yīng)用服務(wù)器,Liberty 支持與多種開發(fā)工具的結(jié)合:

    • 支持在 Rational Application Developer 中使用 Liberty,推薦在企業(yè)級應(yīng)用開發(fā)中使用這種方式,因?yàn)檫@種方式支持最大范圍的編程模型以及 Cloud。
    • 支 持在 Eclipse 3.6(Helios) 或者 3.7(Indigo) 中使用 Liberty, 需要從 Eclipse Marketplace 安裝 WebSphere Application Server V8.5 Developer Tools for Eclipse 或者 WebSphere Application Server V8.5 Liberty Profile Developer Tools for Eclipse。在 Eclipse 中使用 Liberty 是完全免費(fèi)的,當(dāng)然,如果你需要得到 IBM 工程師的支持,則需要支付額外的費(fèi)用。

    同時,Liberty 服務(wù)器也支持多種主流的操作系統(tǒng)平臺,包括 Windows、Linux、Unix、z/OS 以及 Mac OS 等。Liberty 既可以用在開發(fā)環(huán)境中,也可以用于產(chǎn)品環(huán)境(Mac OS 除外)。Liberty 同時支持 Oracle 和 IBM JDK,支持的最低版本分別是:Oracle Java™ 6 update 26 和 IBM Java 6.0 (J9 2.6) SR 1。

    回頁首

    初探 WebSphere Liberty Profile Server

    快速安裝

    在 本文中我們主要介紹 Eclipse 與 Liberty 的結(jié)合使用,在開始搭建 Liberty 的開發(fā)環(huán)境前,讀者需要自行下載和安裝 Oracle 或者 IBM JDK,并配置好環(huán)境變量,這是 Liberty 能正常運(yùn)行的必要條件。如果是以開發(fā)為目的,那么使用 Liberty 以及 Liberty 工具是完全免費(fèi)的,并且沒有時間限制。

    在線安裝 Liberty 開發(fā)工具

    打開 Eclipse,依次點(diǎn)擊 Help > Eclipse MarketPlace,在出現(xiàn)的頁面搜索欄里輸入 websphere,并點(diǎn)擊搜索。

    圖 1. 安裝 Liberty 開發(fā)工具
    圖 1. 安裝 Liberty 開發(fā)工具

    在 搜索結(jié)果中會看到如上紅色方框標(biāo)注的工具,其中 WebSphere Application Server V8.5 Liberty Profile Developer Tools 是 WebSphere Application Server V8.5 Developer Tools 的子集,對于搭建 Liberty 開發(fā)環(huán)境,直接安裝前者就可以,如果讀者還需要將 Eclipse 與傳統(tǒng)的 WAS 結(jié)合使用,那么就需要安裝后一個工具。在本文中,我們直接安裝 WebSphere Application Server V8.5 Liberty Profile Developer Tools。在安裝過程結(jié)束后,需要重啟 Eclipse。待 Eclipse 重啟后,選擇 Servers 視圖,右擊新建一個服務(wù)器,出現(xiàn)如下圖所示,則表明 Liberty 開發(fā)工具已經(jīng)成功安裝

    圖 2. 驗(yàn)證 Liberty 開發(fā)工具安裝成功
    圖 2. 驗(yàn)證 Liberty 開發(fā)工具安裝成功

    創(chuàng)建 Liberty 服務(wù)器

    在安裝好 Liberty 開發(fā)工具后,我們需要在 Eclipse 中創(chuàng)建 Liberty 服務(wù)器,接著圖 2 所示,選擇 WebSphere Application Server V8.5 Liberty Profile,點(diǎn)擊 Next

    圖 3. 選擇 Liberty 的安裝位置
    圖 3. 選擇 Liberty 的安裝位置

    在 上圖中,我們需要指定 Liberty 服務(wù)器的安裝位置,對于如何下載 Liberty 服務(wù)器,有兩種選擇:1. 訪問 wasdev.net 站點(diǎn),下載 Liberty 的安裝文件,Liberty 安裝文件只有不到 50M,下載成功后只需要解壓該文件到磁盤的任何一個位置即可完成 Liberty 的安裝,“解壓即安裝”,安裝 Liberty 就是如此簡單。然后,點(diǎn)擊 Browser 選擇 Liberty 的安裝位置,即可繼續(xù)創(chuàng)建 Liberty 服務(wù)器;2. 直擊點(diǎn)擊上圖的 Download or install,安裝提示進(jìn)行操作,只需要幾分鐘就可以在線下載并安裝一個全新的 Liberty 服務(wù)器。在這里我們需要指出的是,您也可以選擇直接使用 Liberty 服務(wù)器,而不是將其與 Eclipse 搭配起來使用,直接解壓下載的 Liberty 到任意目錄,就可以使用了。點(diǎn)擊 Next,因?yàn)?Liberty 默認(rèn)是沒有創(chuàng)建服務(wù)器的,所以可以得到下圖

    圖 4. 空白的 Liberty 服務(wù)器
    圖 4. 空白的 Liberty 服務(wù)器

    點(diǎn)擊 New,創(chuàng)建你的第一個 Liberty 服務(wù)器

    圖 5. 創(chuàng)建 Liberty 服務(wù)器
    圖 5. 創(chuàng)建 Liberty 服務(wù)器

    為你的 Liberty 任意指定一個名字,點(diǎn)擊 Finish 完成創(chuàng)建。在 Servers 視圖中,我們將看到創(chuàng)建好的 DemoServer。

    圖 6. Liberty 服務(wù)器概覽
    圖 6. Liberty 服務(wù)器概覽

    從上圖中我們可以看到 DemoServer 是停止?fàn)顟B(tài),右鍵 DemoServer,選擇 Start 啟動 Liberty 服務(wù)器,在 Console 視圖中檢查 log,可以看到 Liberty 已經(jīng)正常啟動。

    清單 1. Liberty 啟動日志
     Launching DemoServer (wlp-1.0.0.20120428-1251/websphere-kernel_1.0.0)   on Java HotSpot(TM) Client VM, version 1.7.0_01-b08 (en_US)   [AUDIT   ] CWWKE0001I: The server DemoServer has been launched.   [AUDIT   ] CWWKZ0058I: Monitoring dropins for applications.   [AUDIT   ] CWWKF0011I: The server DemoServer is ready to run a smarter planet.

    在上圖中,雙擊 Server Configuration,可以看到如下配置文件(server.xml)。

    清單 2. 初始的 server.xml 文件
     <server description="new server">       <!-- Enable features -->      <featureManager>          <feature>jsp-2.2</feature>      </featureManager>       <httpEndpoint id="defaultHttpEndpoint"                   host="localhost"                   httpPort="9080"                   httpsPort="9443" />    </server>

    這個 server.xml 就是 Liberty 服務(wù)器中唯一的配置文件,我們在開發(fā)過程中對應(yīng)用程序或者 Liberty 運(yùn)行時的配置都是在這個文件中完成。在默認(rèn)情況下,Liberty 已經(jīng)啟用了 JSP 功能,我們可以動態(tài)的根據(jù)應(yīng)用的需求為 Liberty 增加各種功能支持,方法如下:

    在 server.xml 編輯窗口下方,選擇 Design 模式,

    圖 7. 圖形化編輯配置文件
    圖 7. 圖形化編輯配置文件

    選擇左側(cè) Feature Manager,然后選擇右側(cè) Add,出現(xiàn)下圖列表,根據(jù)需要添加相應(yīng)的功能支持。

    圖 8. Features 列表
    圖 8. Features 列表

    當(dāng) 然,讀者也可以直接手工編輯 server.xml,手動添加需要的 Feature,但是要注意遵循 Liberty 配置文件的編寫規(guī)范。到此,我們已經(jīng)成功的安裝了 Liberty 服務(wù)器,并搭建好了 Liberty 服務(wù)器的開發(fā)環(huán)境。開始我們的例子程序之前,下文首先向讀者更深層次的介紹 Liberty 的功能特性。

    簡化服務(wù)器配置

    在 Liberty 中,和用戶打交道的只有一個配置文件 server.xml。關(guān)于應(yīng)用程序或者服務(wù)器運(yùn)行時的所有配置都是在這一個文件中完成的,簡化了服務(wù)器的配置,也減輕了程序員的負(fù)擔(dān)。我們可以在 Eclipse 中直接編輯該文件,修改內(nèi)容會實(shí)時生效。這個配置文件是可以被導(dǎo)出,也可以被不同的服務(wù)器共享。

    靈活的服務(wù)器配置

    圖 9. 靈活配置
    圖 9. 靈活配置

    對 于配置文件的使用是非常靈活的,例如:如果有很多個 Liberty 都需要用到同一個配置文件,那么可以將該文件單獨(dú)導(dǎo)出,存放在一個共享的位置,單個的 Liberty 服務(wù)器可以利用 <incluse /> 屬性導(dǎo)入共享的配置文件;又比如配置文件的內(nèi)容非常多而且繁雜,我們就可以將其中的內(nèi)容分別寫在不同的配置文件中(稱為不同的配置文件片段),同樣利用 <include /> 將這些片段文件導(dǎo)入到主配置文件中,運(yùn)行時會負(fù)責(zé)去實(shí)時的解析這些片段文件。

    應(yīng)用部署

    在 Liberty 中部署應(yīng)用也是非常簡單的事情,打開你的 Liberty 安裝目錄 <Liberty_Install_dir>\usr\servers\server_name ,可以看到如下目錄結(jié)構(gòu) :

    圖 10. 應(yīng)用部署目錄
    圖 10. 應(yīng)用部署目錄

    在 上圖中 apps 和 dropins 是兩個存放安裝的應(yīng)用的文件夾,我們可以通過 Eclipse 部署應(yīng)用到 Liberty,應(yīng)用文件將被放在 apps 下面(這個是應(yīng)用部署的默認(rèn)目錄,也可以通過配置,將應(yīng)用文件部署到其他任何位置)。我們也可以直接拷貝應(yīng)用程序(例如 war 文件)到 dropins 目錄,當(dāng) Liberty 啟動的時候,就會自動掃描上面的兩個文件夾,然后啟動文件夾內(nèi)的應(yīng)用程序。當(dāng)然,啟動應(yīng)用前,要確保已經(jīng)配置好 server.xml 里的相關(guān)信息。

    動態(tài)加載模塊

    圖 11. 動態(tài)化加載
    圖 11. 動態(tài)化加載

    與 傳統(tǒng) WAS 不同的是,Liberty 并不是一個靜態(tài)的服務(wù)器,它是動態(tài)的,可以根據(jù)應(yīng)用程序的需要動態(tài)加載相應(yīng)的模塊。這些模塊是以“feature”來定義的,比如 JSP, Servlet 等,都是不同的 feature。可以將 feature 看作是一個獨(dú)立的模塊,它由一到多個 OSGi bundle 組成,共同來完成某一個特定的任務(wù)。這些 feature 可是隨時被添加和移除,而不需要重啟服務(wù)器,正是得益于這樣的動態(tài)化設(shè)計(jì),Liberty 無論在啟動時間還是反應(yīng)時間上都更勝一籌,為程序員帶來了快速的開發(fā)體驗(yàn)。

    運(yùn)行時動態(tài)更新

    圖 12. 動態(tài)更新
    圖 12. 動態(tài)更新

    Liberty 為我們提供了一個可以動態(tài)實(shí)時更新的運(yùn)行時,無論你是修改了應(yīng)用程序,還是修改配置文件都會實(shí)時的被 Liberty 檢測到,并立即更新運(yùn)行時到最新狀態(tài),無需重啟 Liberty 服務(wù)器。新的 feature 可以被隨時的添加到 server.xml 中,運(yùn)行時為負(fù)責(zé)實(shí)時啟動相應(yīng)的功能模塊,這一切都與程序員來說都是透明的。例如:我們首先啟動 Liberty 服務(wù)器,然后將一個 JSP 應(yīng)用放到 dropins 目錄里,如果你沒有在 server.xml 中啟動 JSP 功能,那么該應(yīng)用就不會被啟動。你將會得到一個警告信息,提示你應(yīng)該首先啟用 JSP 功能,然后該應(yīng)用才會被實(shí)時的啟動。同樣,如果你將 JSP 功能從 server.xml 中移除,該應(yīng)用也會被立刻停止。

    新型的軟件部署方式

    圖 13. 集中管理 Liberty 服務(wù)器
    圖 13. 集中管理 Liberty 服務(wù)器

    當(dāng) 我們使用 Liberty 開發(fā)完應(yīng)用程序后,Liberty 為我們提供了一個全新的軟件部署方式,我們可以將 Liberty 服務(wù)器和應(yīng)用程序一起打包為 ZIP 文件,然后將這個 ZIP 傳輸?shù)叫枰渴疖浖姆?wù)器上直接解壓即可。為了支持適合云端和大規(guī)模應(yīng)用的部署,WebSpere(傳統(tǒng) WAS)還提供了集中管理部署的功能(需要安裝 WAS ND 版本),使用該功能可以將我們事先打好的 ZIP 包遠(yuǎn)程的傳輸?shù)蕉鄠€服務(wù)器上,在傳送完成后,WAS 還會負(fù)責(zé)解壓和安裝。另外,WAS 的集中管理功能還提供了遠(yuǎn)程啟動、停止和卸載 Liberty 服務(wù)器的功能。

    Liberty 之于開發(fā)人員

    對于開發(fā)人員來說,Liberty 的出現(xiàn)是一個十分振奮人心的消息。首先,Liberty 作為一個輕量級的應(yīng)用服務(wù)器,和 Eclipse 可以完美的結(jié)合,其最重要的特性就是關(guān)注程序員的開發(fā)體驗(yàn),包括快速的下載、安裝和環(huán)境搭建,在開發(fā)過程中,實(shí)時的應(yīng)用更新而無需重啟服務(wù)器,這些都會極 大的提高程序員的開發(fā)效率;其次,在開發(fā),測試和部署應(yīng)用的過程中,Liberty 都極其友好和方便,其與傳統(tǒng) WAS 的完全兼容,也為應(yīng)用程序的遷移提供了有力的保障。

    回頁首

    與主流 WEB 容器的對比

    從某種程度上來講,目前,Liberty 與 Tomcat 處在同一個產(chǎn)品層次上,我們從功能特性、使用體驗(yàn)以及標(biāo)準(zhǔn)支持上對這兩個服務(wù)器進(jìn)行了對比,從中,我們可以看出 Liberty 在輕量級服務(wù)器中所具有的獨(dú)特優(yōu)勢:

    表 1. Liberty VS Tomcat
    對比項(xiàng)TomcatLiberty
    大小<30M<50M
    啟動速度<5s<5s
    Java EE 標(biāo)準(zhǔn)支持JSP 2.2, Servlet 3.0, JSTL 1.2 用戶需要添加相關(guān)的 jar 包來實(shí)現(xiàn)對其它標(biāo)準(zhǔn)的支持JSP 2.2, Servlet 3.0, JSF 2.0, JSTL 1.2, JPA 2.0, JDBC 4.0, JAX-RS 1.0, JNDI 1.0, Bean Validation 1.0, SSL 1.0, Security 1.0, Web Security 1.0, JMX 1.0 可動態(tài)加載或卸載對應(yīng)的 feature
    OSGi 編程模型是,支持 Blue Print 1.0, WAB 1.0
    開發(fā)工具支持 Eclipse支持 eclipse, IBM Rational Application Developer
    支持的操作系統(tǒng)Linux, WindowsLinux, Windows, AIX, Mac, HP-UX, Solaris, iSeries, zSeries
    性能一般與傳統(tǒng) WAS 具有相同的核心代碼,性能好
    應(yīng)用程序熱部署支持支持
    配置文件多個配置文件,更新后需重啟服務(wù)器一個配置文件,更新后及時生效,無需重啟
    可移植性您可以利用 IBM Application Migration Toolkit 將 Tomcat 上開發(fā)的應(yīng)用快速移植到 WebSphere 應(yīng)用服務(wù)器。反之,則不然。Liberty 和傳統(tǒng) WAS 對編程模型和標(biāo)準(zhǔn)的支持一致。在 Liberty 上開發(fā)的應(yīng)用可以直接運(yùn)行在傳統(tǒng) WAS 之上
    文檔官方文檔涵蓋內(nèi)容有限,但網(wǎng)絡(luò)上相關(guān)內(nèi)容(包括:blog,技術(shù)文章等)廣泛。http://wasdev.net 上提供下載地址、文檔、視頻、音頻、樣本引用等。還有 WAS 的信息中心也有大量文檔可供參考閱讀。
    社區(qū)http://tomcat.apache.org 有 dev 和 user mailing list,沒有官方支持,有時回復(fù)不夠及時。http://wasdev.net,可以與開發(fā)人員直接交流
    長期戰(zhàn)略優(yōu)勢一般用于開發(fā)環(huán)境,生產(chǎn)環(huán)產(chǎn)能用的比較少。支持的并發(fā)度不高,可擴(kuò)展性不強(qiáng)。 Liberty 與傳統(tǒng) WAS 共享同一代碼,天生具有其高效穩(wěn)定的特點(diǎn)。開發(fā) - 測試 - 生產(chǎn)切換零代價(jià)。可擴(kuò)展性高,支持多個 server 間的負(fù)載均衡和故障恢復(fù)。

    回頁首

    Demo:使用 Eclipse 和 Liberty 開發(fā) Web 應(yīng)用

    通 過上面的介紹,相信大家對 Liberty 已經(jīng)有了一個大概的認(rèn)識,接下來我們通過一個 Demo 來向大家展示如何使用 Liberty 和 Eclipse 開發(fā) Web 應(yīng)用。開始 Demo 之前,請大家根據(jù)上文的介紹,搭建自己的 Liberty 開發(fā)環(huán)境,并安裝好 JDK 并且配置好環(huán)境變量。

    Demo 程序很簡單,包含一個 Servlet,實(shí)現(xiàn)打印當(dāng)前時間的功能。步驟如下:

    1. 打開 Eclipse,選擇 File > New > Web>Dynamic Web Project
    2. 設(shè)置如下屬性值:
      1. Project name: Demo
      2. Target runtime: WebSphere Application Server V8.5 Liberty Profile
      圖 14. 創(chuàng)建動態(tài) Web 工程
      圖 14. 創(chuàng)建動態(tài) Web 工程
    3. 點(diǎn)擊 Next 兩次,然后點(diǎn)擊 Finish,完成工程的創(chuàng)建。

      此時,你可以在左側(cè)的資源導(dǎo)航頁面看到剛剛創(chuàng)建完成的 Demo 工程,展開工程就可以看到一些默認(rèn)創(chuàng)建的資源。

    4. 右擊 Src 目錄,選擇 New > Class
    5. 設(shè)置如下屬性值:
      1. Package: com.date.demo
      2. Name: DateProvider
      圖 15. 創(chuàng)建 java 文件
      圖 15. 創(chuàng)建 java 文件
    6. 點(diǎn)擊 Finish
    7. 編輯如下代碼到 DateProvider.java
      清單 3. DateProvider.java
       package com.date.demo;    import java.util.Date;    public class DateProvider {    public String getDate() {   // TODO Auto-generated method stub   return new Date().toString();   }   }

      該文件只包含一個方法,getDate() 用來獲得當(dāng)前時間。

    8. 右擊 Src,選擇 New > Servlet
    9. 設(shè)置如下屬性值
      1. Java package: com.date.demo
      2. Class name: DatePrintServlet
      圖 16. 創(chuàng)建 Servlet 文件
      圖 16. 創(chuàng)建 Servlet 文件
    10. 點(diǎn)擊 Finish,完成創(chuàng)建。
    11. 編輯如下內(nèi)容到 DatePrintServlet.java
      清單 4. DatePrintServlet.java
       package com.date.demo;    import java.io.IOException;   import javax.servlet.ServletException;   import javax.servlet.annotation.WebServlet;   import javax.servlet.http.HttpServlet;   import javax.servlet.http.HttpServletRequest;   import javax.servlet.http.HttpServletResponse;    /**   * Servlet implementation class DatePrintServlet   */   @WebServlet("/DatePrintServlet")   public class DatePrintServlet extends HttpServlet {   private static final long serialVersionUID = 1L;            /**       * @see HttpServlet#HttpServlet()       */      public DatePrintServlet() {          super();          // TODO Auto-generated constructor stub      }   /**   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)   */   protected void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {   // TODO Auto-generated method stub   DateProvider dateProvider=new DateProvider();   response.getWriter().println(dateProvider.getDate());   }    /**   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)   */   protected void doPost(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException {   // TODO Auto-generated method stub   }    }
    12. 在左側(cè)導(dǎo)航欄選擇 DatePrintServlet,點(diǎn)擊右鍵 Run As > Run on Server , 如下圖:
      圖 17. 選擇 Liberty 服務(wù)器
      圖 17. 選擇 Liberty 服務(wù)器
    13. 點(diǎn)擊 Finish,Liberty 開發(fā)工具將會為我們部署上面的 Demo 程序,并啟動 Liberty 服務(wù)器。從 console 的日志里我們可以看到如下描述:

    [AUDIT ] CWWKZ0001I: Application Demo started in 1.235 seconds.

    表明 Demo 應(yīng)用已經(jīng)成功部署了,同時,在 Eclipse 自帶的瀏覽器里可以看到如下頁面信息:

    圖 18. Demo 運(yùn)行頁面
    圖 18. Demo 運(yùn)行頁面

    讓我們回過頭來看看 server.xml 里面的內(nèi)容:

    清單 5. server.xml
     <server description="new server">       <!-- Enable features -->      <featureManager>          <feature>jsp-2.2</feature>          <feature>localConnector-1.0</feature>       </featureManager>       <httpEndpoint host="localhost" httpPort="9080" httpsPort="9443"      id="defaultHttpEndpoint"/>       <applicationMonitor updateTrigger="mbean"/>       <application id="Demo" location="Demo.war" name="Demo" type="war"/>   </server>

    其中:

    <feature /> 包含了應(yīng)用程序中所用到的功能包,如果你啟用了 jsp-2.2,那么 Liberty 默認(rèn)支持對 Servlet 3.0。

    <httpEndpoint /> 指定了 HTTP 訪問的端口,我們可以在這里改變默認(rèn)的端口。

    <applicationMonitor /> 用來配置對應(yīng)用程序的監(jiān)控模式,updateTrigger 屬性是用來控制動態(tài)更新的,通過 Liberty 工具部署應(yīng)用時 updateTrigger 的值設(shè)置為 mbean,當(dāng)我們直接把應(yīng)用程序拖進(jìn) dropins 時,需要將 updateTrigger 設(shè)為 polled,當(dāng)然,如果我們不需要應(yīng)用的動態(tài)更新功能,可以將這個值設(shè)為 disabled.

    <application /> 用來指定和應(yīng)用本身相關(guān)的屬性,id 和 name 是應(yīng)用的唯一標(biāo)識,type 指定了應(yīng)用的類型,location 指定應(yīng)用所在的位置,默認(rèn)是在 apps 目錄里面,我們可以通過配置修改這個默認(rèn)設(shè)置。

    回頁首

    總結(jié)

    通 過上面的介紹,相信讀者已經(jīng)對 WAS V8.5 最重要的特性 Liberty 有了一個全面的認(rèn)識,作為新一代輕量級應(yīng)用服務(wù)器,Liberty 采用了和傳統(tǒng) WAS 相同的代碼,繼承了傳統(tǒng) WAS 的優(yōu)點(diǎn),無論在性能上還是在穩(wěn)定性上都優(yōu)越于其他同類產(chǎn)品。Liberty 無論是在開發(fā)環(huán)境中還是在產(chǎn)品環(huán)境中,都具有其他產(chǎn)品不可比擬的優(yōu)勢。我們有理由相信,在追求開發(fā)效率和軟件質(zhì)量的今天,每一個程序員都會很快的接受這個 WAS 家族的“小塊頭”。

    參考資料

    學(xué)習(xí)

    獲得產(chǎn)品和技術(shù)

    討論

    主站蜘蛛池模板: 亚洲精品高清国产一久久| 国产亚洲漂亮白嫩美女在线| 成人免费午夜无码视频| 亚洲妇女无套内射精| 亚洲日韩av无码| 男女免费观看在线爽爽爽视频 | 一级毛片视频免费观看| 亚洲黄色免费在线观看| 国产无遮挡裸体免费视频| 全免费a级毛片免费看| 亚洲日韩亚洲另类激情文学| 亚洲综合伊人久久大杳蕉| 毛色毛片免费观看| 人妻在线日韩免费视频| 久久亚洲中文字幕无码| 亚洲国产精品乱码一区二区| 免费无码不卡视频在线观看| 最近免费中文字幕MV在线视频3| 亚洲日韩乱码中文字幕| 亚洲第一区香蕉_国产a| 免费在线精品视频| 国产日本一线在线观看免费| 黄桃AV无码免费一区二区三区| 99热亚洲色精品国产88| 亚洲成av人片天堂网| 国产男女猛烈无遮挡免费视频| 1000部拍拍拍18勿入免费凤凰福利| 无码免费又爽又高潮喷水的视频| 亚洲综合久久一本伊伊区| 久久精品国产96精品亚洲| 亚洲国产高清精品线久久| 在线观看免费人成视频| 免费人成在线观看网站品爱网 | 一级毛片免费观看不收费| 亚洲砖码砖专无区2023| 亚洲视频一区网站| 亚洲人成亚洲人成在线观看| 国产大片线上免费看| 成人免费毛片内射美女APP| 免费播放一区二区三区| 中文字幕无码日韩专区免费|