1。下載,安裝
電腦上必須預先安裝Jdk5 or Jdk6,并且設置JAVA_HOME環境變量。從Sun的網站上下載 GlassFish v2.1 final build,是一個jar文件。下載后運行:
F:\>java -Xmx256m -jar glassfish-installer-v2ur2-b04-windows.jar
?
如果這里不加上-Xmx256m,很有可能會報OutOfMemoryException。這個命令會產生一個名為glassfish的目錄。在glassfish目錄下運行:F:\glassfish>lib\ant\bin\ant -f setup.xml
如果最后能看到“BUILD SUCCESSFUL”,就說明GlassFish已經安裝成功了。GlassFish會建立一個名為“domain1“的域。
?
打開setup.xml文件我們可以看到默認的配置:
<property name="domain.name" value="domain1"/> <property name="instance.name" value="server"/> <property name="admin.user" value="admin"/> <property name="admin.password" value="adminadmin"/> <property name="admin.port" value="4848"/> <property name="instance.port" value="8080"/> <property name="orb.port" value="3700"/> <property name="imq.port" value="7676"/> <property name="https.port" value="8181"/>
?如果想自定義domain name, user, password or ports,可以手動修改這個文件后再進行安裝。
?
2。啟動GlassFish服務器
將%glassfish_home%\bin目錄添加到path環境變量中。在任意目錄下鍵入asadmin start-domain即可啟動default domain (domain1)。成功啟動后在http://localhost:8080/可以看到服務器歡迎頁面。
?
3。使用admin console
admin console是一個基于web的服務器管理和配置平臺。在瀏覽器中鍵入http://localhost:4848就可以看到登陸頁面。使用setup.xml中定義的user & password即可登陸。點擊左側樹形結構上的節點可以在右側窗口察看相應的管理項目。
?
Applications: 管理domain中部署的應用。
Application Server -> General:start & stop instance, view log files, JNDI browsing。。。
Application Server -> Adminstrator Password:修改admin console的密碼
?
4。GlassFish的基本概念
?
Domain: 域(Domain)是GlassFish的一個核心概念,我們可以為每個GlassFish服務器建立多個域,而域里面又可以包含多種可管理的資源,包括實例、集群及它們各自資源。需要注意的是,一個可管理的資源,例如一個實例,只能專屬于一個域。
?
Domain Administrator Server(DAS): 域管理服務器。DAS是GlassFish的一個核心組件,在集群的環境中,每個GlassFish服務器可能會存在多個服務實例 (Instance),DAS本身也是一個符合Java EE5規范的服務實例,主要是為GlassFish提供核心管理的功能。所有對域的管理操作,例如Netbeans IDE以及其他工具的管理請求,都是由DAS分發到各個服務器實例去的,而不是直接連接到各個服務器實例。 對于一些需要多個實例進行操作的管理請求,DAS會將操作請求廣播到各個實例上去,所以,當DAS停止運行后,各種對域的管理操作都不能進行,當然,即使 DAS已經停止了運行,域的集群和服務器實例仍然可以正常工作,只要域還在正常運行。
?
Node: 一般來說,一個node(節點)就代表一個獨立主機。一個很大的機器可能會分割為多個獨立的節點。 節點需要一個輕量級的代理(Node Agent)來對服務器實例進行遠程生命周期管理。節點代理主要負責實例的啟動,停止以及創建,同時,也承擔監視者以及重啟失效進程的責任。
?
Server Instance: 服務器實例。 一個實例指的是掌管Java EE 5應用服務器的Java虛擬機。實例間的通信以及和DAS之間的通信是依賴于遠程MBean方法的調用的。
?
感覺這和Oracle的RAC架構很相似。我們可以為oracle建立多個database,每一個database可以包含多個instance,Enterprise Grid Control負責管理所有的instance。
?
5。Domain的管理
?
5.1 create domain
?
F:\>asadmin create-domain --adminport 4849 myFirstDomain
成功后在%glassfish_home%\domains下可以看到myFirstDomain目錄。asadmin start-domain myFirstDomain后鍵入http://localhost:4849即可登陸admin console。
?
直接在命令行鍵入asadmin create-domain可以看到所有可接受的參數。其中adminport和domain name是必需的,否則asadmin會報錯。
?
--profile可以為創建的domain指定一個profile。如果沒有顯示的指定profile,asadmin會使用%glassfish_home%\config\asadminenv.conf中AS_ADMIN_PROFILE定義的缺省profile(developer)。GlassFish提供developer,cluster & enterprise三種profile。GlassFish的admin guide上面說:Do not create an enterprise domain unless you have HADB and the Network Security Services (NSS) keystore。就是說不要隨便創建enterprise profile玩。HADB應該是指高可用性數據庫,NSS keystore是什么我就不明白了。
?
--domaindir可以指定domain的目錄。缺省目錄為%glassfish_home%\domains
?
5.2 start & stop & delete & list domain
?
F:\>asadmin start-domain myFirstDomain
F:\>asadmin stop-domain myFirstDomain
如果只有一個domain,則可以省去domain name。
F:\>asadmin delete-domain myFirstDomain
F:\>asadmin list-domains
?
5.3 domain的配置文件
?
%glassfish_home%\domains\%domain_name%\config\domain.xml
對于其中大部分的配置GlassFish支持熱部署,無需重啟domain。這些配置包括:
- 部署應用和取消部署
- 添加,移除JDBC, JMS, Connector resources and pools
- 改變日志級別
- 修改監控級別
。。。
?
6。與IDE的集成
?
GlassFish與netbean, eclipse都可以方便的集成。比較起來netbean更簡單些,畢竟是自家的產品嘛。eclipse還需要先下載一個server adapter。
?
7。部署應用
?
在GlassFish中部署應用有三種方法。下面以一個sample.war為例說明這三種方法。部署EJB module或者enterprise application的步驟大致相同。
?
7.1 自動部署
?
在%glassfish_home%\domains\%domain_name%下有一個autodeploy目錄。把我的sample.war直接copy到這個目錄下,大概兩秒鐘后出現一個叫sample.war_deployed的文件。這說明部署成功了。在admin console的Applications -> Web Applications下可以看到這個應用。如果要取消部署,把sample.war從autodeploy中刪除即可。
?
這種部署方式最簡單直接。但缺點是只支持本地部署,只能進行文件部署(jar, war, ear...),不能進行文件夾部署(解壓sample.war后把整個文件夾copy到autodeploy下部署無效)。而且部署的文件只能位于autodeploy下面。
?
7.2 使用admin console部署
?
在admin console的Applications -> Web Applications中點Deploy按鈕可以進入部署頁面。
?
這里提供了兩種選項。一種是Packaged file to be uploaded to the server,就是上傳打包文件部署。使用這個選項可以把本機的應用部署到遠程服務器上。另外一種是Local packaged file or directory that is accessible from the Application Server。就是說使用本地打包文件或者文件夾進行部署。文件夾部署方式非常方便本機開發調試。
比如說我在tomcat的webapps下有一個sample文件夾,我可以直接把這個文件夾部署到GlassFish中而無需進行打包。部署后改動sample中的jsp文件,刷新瀏覽器即可看到改變,不用重新部署。
?
7.3 使用asadmin命令部署
?
部署:
asadmin deploy --port 4849 --user admin F:\apache-tomcat-5.5.27\webapps\sample.war
取消部署:
asadmin undeploy --port 4849 --user admin sample
更詳細的命令可以通過asadmin deploy --help獲得。
?
好了,入門篇就寫到這里。等有機會深入研究研究,再寫進階篇,高級篇,哈哈。
已有 0 人發表留言,猛擊->>這里<<-參與討論
JavaEye推薦