BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          EJB 3 學習筆記:GlassFish 入門

          Posted on 2009-02-11 18:50 logicgate 閱讀(1327) 評論(0)  編輯  收藏

          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推薦



          主站蜘蛛池模板: 昔阳县| 西宁市| 宣恩县| 紫阳县| 龙陵县| 且末县| 宜城市| 楚雄市| 白朗县| 西丰县| 辽宁省| 海城市| 喀喇沁旗| 连江县| 绥江县| 正宁县| 乌兰县| 高要市| 莒南县| 平顺县| 江孜县| 宁津县| 固阳县| 米脂县| 广丰县| 北京市| 措美县| 鹤壁市| 临夏市| 化德县| 和平县| 西贡区| 庆云县| 梁平县| 丰台区| 大港区| 密云县| 肃南| 和静县| 论坛| 阜康市|