GlassFish部署及應用入門
Sun 啟動了 GlassFish 項目 —— 開發一個與 Java Platform, Enterprise Edition 5 (Java EE 5) 兼容的應用服務器,并向 Java 社區公開。此后,一個名為 GlassFish 社區 的活躍的開發人員社區參與了此項目。他們努力的最初結果是 GlassFish v1(第一個開源的、與 Java EE 5 兼容的應用服務器),以及 Java EE 5. 的參考實現。另外,GlassFish 社區還發布了 Toplink Essentials,即 Java Persistence API 的參考實現。此社區還培養了許多不同的子項目,比如 Metro、jMaki、Open Message Queue (Open MQ)、Hudson 和 Grizzly。
GlassFish v1 的重點是開發人員。目的是提供一個開源并與 Java EE 5 完全兼容的應用服務器,開發人員可以使用此服務器部署并測試其 Java EE 5 應用程序。遠景是簡單部署,也就是對單個 GlassFish 實例的應用程序部署。在 Common Development and Distribution License (CDDL) 下可用的 GlassFish v1 已經非常流行,每年的下載量都超過 3 百萬。它已被全世界采納并在多個發行版中可用,其中包括支持 Sun 的商業發行版 Sun Java System Application Server Platform Edition 9.0。
2007 年 9 月,GlassFish 社區發布 GlassFish v2,其中包括 GlassFish v1 的所有功能,并添加了其他功能,使得應用服務器能夠接受重型生產環境的挑戰。本文概述了這些功能。
本指南將闡述啟動 GlassFish 服務器軟件,封裝和部署應用程序的基本步驟。同時還包括 Admin Console 和命令行工作的相關信息。要使用此快速入門指南,您必須首先安裝 GlassFish 產品。有關下載及安裝說明,請參見 GlassFish 下載頁面。
此文檔包含以下幾個主題:
◆啟動和驗證服務器
◆封裝和部署應用程序
◆使用命令行工具
有關此文檔所使用的規范信息,請參閱 文檔規范。
啟動和驗證服務器
本節提供的步驟適用于想啟動和驗證 GlassFish 服務器軟件的管理員:
◆啟動 GlassFish 服務器
◆確認服務器正在運行
◆使用 Autodeploy 部署 Hello 應用程序
◆登錄 Admin Console
針對管理任務,GlassFish 服務器軟件提供了能管理服務器實例的工具:
◆Admin Console,基于瀏覽器的圖形用戶界面
◆asadmin 實用工具,命令行工具
默認的管理值如下:
◆domain.name=domain1
◆instance.name=server
◆admin.user=admin
◆admin.password=adminadmin
◆admin.port=4848
◆instance.port=8080
◆orb.port=3700
◆imq.port=7676
◆https.port=8181
◆master.password=changeit (only in setup-cluster.xml)
在安裝時運行 setup.xml 和 setup-cluster.xml 命令會用到這些值。在安裝過程中,如有端口沖突,請用適當的端口值編輯 setup.xml 和 setup-cluster.xml 文件,并重新運行命令。
啟動 GlassFish 服務器
單一實例模式
使用 ant -f setup.xml 執行安裝時,通過啟動域,您也啟動了該服務。域會對屬于它的服務實例提供授權和管理。啟動域也就啟動了該域中的服務。安裝 GlassFish 服務時將創建默認的 domain1 域。
步驟
1.將 install-dir/bin/ 目錄添加到PATH 環境變量中。
2.鍵入以下命令啟動服務器:asadmin start-domain domain1.
服務啟動后會出現以下信息:Domain domain1 is ready to receive client requests. Additional services are being started in the background.
集群模式
GlassFish 支持集群模式的服務器實例,在集群中,每個實例的程序和配置均相同。與集群相關的術語,請參閱參閱 Cluster support in GlassFish V2。
使用 ant -f setup-cluster.xml 執行安裝時,通過啟動域,您也啟動了該服務。啟動域會啟動 DAS ,DAS 會依次啟動該域中的實例,DAS是一個特殊委派的應用服務實例,它會在所有管理任務中進行協調。安裝 GlassFish 時將創建默認的 domain1 域。
步驟
1.將 install-dir/bin/ 目錄添加到 PATH 環境變量中。
2.鍵入以下命令啟動服務器:asadmin start-domain domain1.
提示鍵入管理用戶名和管理密碼時,輸入 setup-cluster.xml 中提供的用戶名和密碼。默認的用戶名和密碼分別是: admin 和 adminadmin。服務啟動后會出現以下信息:Domain domain1 started
3. 創建集群、節點代理,請遵循此 快速入門指南。
4. 在 GlassFish V2 上創建集群后,如何加載平衡的快速方法,請參閱 Configuring the Cluster/Load Balancer with GlassFish V2
確認服務在運行
◆要確認該服務正在您的系統上運行,請單擊此 URL:http://localhost:8080。
該 URL 包括兩部分:
o如果瀏覽器和 GlassFish 服務器運行同相的系統上,則使用 localhost 。如果 GlassFish 服務器運行在另一個系統上,則將 URL 中的系統名稱替換為localhost。
o默認端口號是8080.如果在安裝過程中,修改了端口號,在瀏覽器地址欄里也應作相應替換。
你會看到服務歡迎頁面出現在下面。
該頁面可能需要幾分鐘才能顯示。
當您看到這個頁面時,表明服務器正在運行。如果服務器未運行,但系統運行正常,你會看到 server not found 錯誤。(在某些瀏覽器中,該錯誤會自動運行收索引擎。)
使用 Autodeploy 部署 Hello 應用程序
預先封裝好的 Hello 程序,可以從 Java EE 5 教程上獲得,也可從 http://glassfish.dev.java.net/downloads/quickstart/hello.war. 上下載。Hello 程序包含在 Web ARchive 文件中。封裝好的程序可以是 Java™ ARchive 或者企業版 ARchive 文件。
拖拽或者復制 Hello 程序給域的 autodeploy 目錄,能讓你花費最小的力氣立即運行預先封裝好的程序。
步驟
1.從 http://glassfish.dev.java.net/downloads/quickstart/hello.war 下載 hello.war。
2.將 hello.war 復制到 install-dir/domains/domain1/autodeploy/。
提示 - 在 Windows 操作系統中,你可以在桌面上為 autodeploy 目錄創建一個快捷方式,然后將 hello.war 文件拖拽到快捷方式上。
當系統完成應用程序的部署時,會在 autodeploy 目錄下創建一個 hello.war_deployed 文件。根據你的系統配置,此過程可能需要幾分鐘。當你試圖訪問程序頁面時,會出現錯誤: 404-File Not Found
3.要訪問應用程序頁面,請訪問此 URL:http://localhost:8080/hello.
應用程序首頁會提示您鍵入名稱:
4.鍵入名稱并單擊提交。
應用程序會顯示:Hello。
deploy。若要獲得等多信息,在命令提示后鍵入: asadmin deploy --help
登錄 Admin Console
Admin Console 是一個基于 Web 的界面,它能使各種管理和配置任務更加簡單。通常用于:
◆部署和取消部署應用程序
◆啟用和禁用應用程序
◆確認當前正在運行的應用程序
◆配置 Java Database Connectivity (JDBC™) 資源和其他服務器設置
◆在日志文件中選擇和查看最近條目
有關使用 Admin Console 的更多信息,請獲取在線幫助文檔。
步驟
1.以單一實例模式訪問 http://localhost:4848/,并以集群模式訪問 https://localhost:4848
◆如果 GlassFish 服務器和瀏覽器運行在相同的系統上,則使用 localhost。如果 GlassFish 服務器運行在另一臺系統上,請替換 URL 中的系統名稱。
◆4848 是 Admin Console 的默認端口號。如果在安裝過程中修改了端口號,請使用修改后的端口號。
2.輸入用戶名和密碼。
默認用戶名是 admin,默認密碼是 adminadmin。
3.單擊登錄。
Admin Console 應如下所示:
用服務器樹形結構中的項目配置 GlassFish 服務器軟件的操作設置。通過右上角的按鈕,獲得在線幫助。
要查看服務器的日志文件,在右邊面板的普通任務標題下單擊“搜索 Log 文件”,當 Log 檔查看窗口出現時,設定搜素規則,單擊搜索會顯示狀態信息,這些信息來自服務器和 JavaEE 程序的輸出。
啟動綁定的 Derby 數據庫服務器
GlassFish 包括一個綁定的 Derby 數據庫服務器,可以用命令 asadmin start-database 啟動它。過程如下:
步驟
1.確保使用數據庫用戶登錄。
2. 運行 asadmin start-database.
有關 start-database 命令的更多信息,請參閱該命令的幫助。
封裝和部署應用程序
在部署應用程序之前,確保將它們壓縮成 Java ARchive、Web ARchive 或者 Enterprise ARchive 文件。封裝的應用 程序包含部署描述符,其中包含 GlassFish 加載程序所需要的信息,并建立了一個 URL指向這些信息和其他需要的資源。這部分描述了如下的封裝和部署應用程序的技術:
◆使用 NetBeans IDE 開發和部署應用程序
◆使用 asant 封裝 Hello 應用程序
◆通過 Admin Console 部署
◆通過部署描述符部署
有關更多信息,請參見 The Java EE 5 Tutorial 的 "Getting Started With Web Applications" 部分。
使用 IDE 開發和部署應用程序
NetBeans™ IDE 是一個集成的開發環境,你可以用它創建、封裝和部署復雜的 Java EE 程序。NetBeans 可以從 http://www.netbeans.org. 下載,NetBeans IDE 運用集成了開發環境和部署環境,并且能讓很多生成 Java EE 的步驟自動化。一旦你用 NetBeans IDE 注冊了 GlassFish 服務,就可以很容易地封裝、修改和部署它們。
有關 GlassFish 和 NetBeans IDE 的更多信息,請參見:https://glassfish.dev.java.net/public/netbeans/index.html.
流行的 Eclipse IDE 還可用于開發和部署 GlassFish 上的 Java EE 程序。參考 https://glassfishplugins.dev.java.net/ 上的插件項目,可以提供 Eclipse version 3.1 的下載信息和 快速入門指南。
使用 asant 封裝 Hello 應用程序
如果程序沒有用類似 NetBeans IDE 的工具封裝,可以用該產品的附帶工具 asant 該工具能使重復性的部署任務自動化,它也是一個可以初始化 GlassFish 服務環境和條用 akarta Ant 工具的 shell 腳本。 有關 asant 工具的信息,請參見: Sun Java System Application Server Platform Edition 9 Reference Manual and Chapter 3, "The asant Utility," in Sun Java System Application Server Platform Edition 9.0 Developer's Guide.
該部分包括封裝應用程序的組件到另一個 WAR 文件。 包含 Hello 程序的build.xml 文件包含了創建目標。
步驟
1.如果你已經把 install-dir/bin 加到了 PATH 環境變量中,你現在就可以這樣做。
2.進入存放 Hello 應用程序的目錄。
3.鍵入 asant war.
此命令將匯編應用程序的 WAR 文件。
通過 Admin Console 部署
封裝 Hello 程序之后,下面將部署它。以下部分討論用 Admin Console 部署應用程序,你也可以使用 asant。
步驟
1.以單一實例模式單擊 http://localhost:4848/asadmin,并以集群模式單擊 https://localhost:4848/asadmin
◆如果 GlassFish 服務器和瀏覽器運行在相同的系統上,則使用 localhost。如果 GlassFish 服務器運行在另一臺系統上,請替換 URL 中的系統名稱。
◆4848 是 Admin Console 的默認端口號。如果在安裝過程中修改了端口號,請使用修改后的端口號。
2.輸入管理用戶名和密碼。
3. 在左側窗格中,單擊 Application 節點并展開它。
4.單擊 Web Applications。
5.如果您已經部署了 Hello 程序,選擇靠近它的復選框并單擊 Undeploy。
6.要部署最近匯編的 Hello 應用程序,請單擊 Web Applications 頁上的 Deploy。
7.選擇 Package file to upload to the Application Server 選項并單擊 Browse。
8.導航到存放 Hello 應用程序的目錄并選擇 hello.war。
9.單擊 Next。
10.在 Deploy Web Module 頁面上,單擊 OK。
應用程序將出現在 Web Applications 列表中
要驗證應用程序已正確部署,請單擊 Launch。
通過部署目錄部署
如果合適的目錄層次結構和部署配置已經建立,你就可以從發展目錄部署程序。由于對于簡單的程序這個過程是復雜的,因此只最推薦高級用戶和簡單程序使用。但是一旦這樣做是可行時,直接從目錄部署可以加速開發循環。
這個過程可以用 Admin Console 和或則命令行和腳本里的 asadmin deploydir 執行。由于大多數的開發者想在命令腳本里自動化這些步驟,現將使用命令行的步驟呈現于此,
注意 - 在 Windows 中使用 asadmin 之前,請參閱 To Configure the Windows Environment to Use the Command-Line Tools。
步驟
1.在存放 Hello 應用程序的目錄中,創建一個名稱為 hello2/ 的新目錄。
2.將 hello.war 文件的內容解壓到 hello2/ 目錄。
當你解壓 hello.war時,維持目錄結構不變。它也是你需要直接從目錄部署的這類文件的一個模板。
3.如果你已經部署了 Hello 程序,在命令行中用 asadmin undeploy hello 封裝它。
4.使用以下命令部署應用程序:
asadmin deploydir hello-download-dir/hello2
注意 - 指定 hello2/ 目錄的完整路徑。
如果你沒有安裝帶有"Don't prompt"的 GlassFish 服務,請指定 --user username, 選項, username 是管理者的名字。你可能會提示輸入密碼。
會出現下面的信息: Command deploydir executed successfully.
5.驗證應用程序正在運行,請訪問 URL:http://localhost:8080/hello。
使用命令行工具
除了 Admin Console 外,GlassFish 服務器軟件還提供了各種各樣的命令行工具來執行管理功能。這部分解釋命令行工具。
要運行工具,請在命令窗口中輸入命令名。下表的第一列是命令的名字,第二列是相關的描述。
使用命令行工具配置 Windows 環境
步驟
1.在瀏覽器窗口或桌面右擊我的電腦。
2.選擇屬性顯示系統屬性對話框。
3.單擊高級選項卡。
4.單擊環境標簽。
在用戶標簽部分,添加或修改 PATH 變量。
如果 PATH 變量存在:
1.單擊編輯。
2. 在變量值中,輸入路徑給 bin 目錄,要區別于其他的輸入,可以使用分號間隔。例如:
如果PATH變量不存在 :
1.單擊新建。
2.在變量名中輸入 PATH。
3.在變量值中,輸入服務器的 bin 目錄:
6.
在用戶選項卡部分,添加環境變量AS_ADMIN_USER 并且把它設置成你在安裝中用的管理者名字。
如果你設定了這個變量,你在運行 the administrative user name when you run asadmin 命令時,不需要輸入管理者名.
7.
單擊 OK 提交并關閉剩余的窗口。
【編輯推薦】