Sky's blog

          我和我追逐的夢

          導航

          <2009年1月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          留言簿(8)

          隨筆分類

          隨筆檔案

          閱讀排行榜

          評論排行榜

          常用鏈接

          統計

          其他鏈接

          友情鏈接

          最新評論

          初學glassfish(1)--安裝并準備開發環境


              近期由于公司有意向在未來將目前的一個大型產品從weblogic移植到glassfish,因此提前學習glassfish以做好準備。

              首先從下載安裝開發,學習如何搭建glassfish的開發環境。

          一. 下載安裝運行
              1) 下載
              從官網https://glassfish.dev.java.net/public/downloadsindex.html下載,目前最新的release版本是GlassFish Server v2 Update Release 2 (UR2)。v3只有
          Prelude版本,正式的v3估計要到09年一季度。我下載的是glassfish-installer-v2ur2-b04-windows.jar的版本,54M而已,比weblogic小太多了。
             
              2) 安裝
                  安裝方式遵循官方建議(https://glassfish.dev.java.net/downloads/v2ur2-b04.html中的"Instructions to unbundle and configure GlassFish")
                  1. copy 下載的文件到要安裝的目錄,比如c:\soft
                  2. 執行java -Xmx256m -jar filename.jar
                      按照安裝程序的提示進行。
                  3. 運行ant腳本 lib\ant\bin\ant -f setup.xml
                  4. 完成后,在原目錄下會出現一個glassfish目錄,所有文件都在里面

                  在安裝前請先確保jdk已經正確安裝,JAVA_HOME屬性設置正確.

              3) 系統配置
                  1. 將install-dir\bin加入到Path路徑
                  2. 添加新的環境變量 AS_ADMIN_USER,并將其設置為在安裝過程中指定的管理員用戶名。
                      這個是sun的快速入門指南中的要求,但是實際操作中發現不設置也可以正常啟動glassfish。

              4) 運行
                  需要使用到glassfish\bin\目錄下的asadmin.bat。
                  方法1) 直接鼠標雙擊,彈出窗口中輸入start-domain domain1,如果成功會看到啟動信息。
                  方法2) 運行 -> cmd 進入命令行,進入glassfish\bin目錄,執行asadmin start-domain domain1

              5) 檢驗
                  打開瀏覽器訪問http://localhost:8080/,或者訪問glassfish的console http://localhost:4848/.

              6) 以下信息是glassfish安裝后的默認配置

          domain.name=domain1
          instance.name=server
          admin.user=admin
          admin.password=adminadmin
          admin.port=4848
          instance.port=8080
          orb.port=3700
          imq.port=8686
          https.port=8181


          二. eclipse的glassfish插件
             
              eclipse的glassfish插件的下載安裝可以參考官方文檔,基本照著做就可以了。
              https://glassfishplugins.dev.java.net/eclipse34/index.html



          三.搭建自己的開發環境

          1. 新建admin用戶

              使用默認的用戶名密碼admin/adminadmin登錄console,在Configuration -> Security -> Realms -> admin-realm 下點"manager users",添加自己需要的新admin用戶。
              示例如下:

              User ID = sigadmin
              Group List = asadmin
              password = sigadmin


          2. 新建開發需要使用的domain

              默認安裝時會建立domain1,為了方便我們需要自行建立屬于自己的domain,尤其對于公司團隊開發,往往一臺開發機器上安裝一個glassfish,不同開發人員每人都有屬于自己的domain來開發測試。


              2.1) create domain

                  執行以下命令:
                  asadmin create-domain --user sigadmin -e --passwordfile=password.properties --portbase 34000 --profile developer domain_340

                  其中--passwordfile=password.properties指明密碼文件,否則asadmin命令會以交互方式要求輸入相應密碼。password.properties文件內容如下:

                  AS_ADMIN_PASSWORD=sigadmin
                  AS_ADMIN_ADMINPASSWORD=sigadmin
                  AS_ADMIN_USERPASSWORD=sigadmin
                  AS_ADMIN_MASTERPASSWORD=sigadmin
           
                  --portbase 34000指定當前新建的domian的portbase,--portbase 34000的意思就是該domain的各個端口以34000為基數增加,從日志中可以看到:

                Using port 34048 for Admin.
                Using port 34080 for HTTP Instance.
                Using port 34076 for JMS.
                Using port 34037 for IIOP.
                Using port 34081 for HTTP_SSL.
                Using port 34038 for IIOP_SSL.
                Using port 34039 for IIOP_MUTUALAUTH.
                Using port 34086 for JMX_ADMIN.

                  和前面默認建立的domain1的端口對照,可以看到基本是每個端口都有一個基數,然后加portbase就得到最終使用的端口好。

                                              portbase=34000        default        基數

          Admin                        34048                          4848             48
          HTTP Instance         34080                          8080             80
          JMS                            34076
          IIOP                            34037                          3700             37
          HTTP_SSL                34081                          8181             81
          IIOP_SSL                   34038
          IIOP_MUTUALAUTH        34039            
          JMX_ADMIN          34086                          8686              86


                  使用--portbase比較方便記憶,推薦這樣使用,避免逐個指定不同端口。為了方便記憶,domain的名字取名為domain_340以對應。

              2.2)start domain

                  執行命令:
                  asadmin start-domain -e --passwordfile=password.properties domain_340
                 
              2.3) stop domian
                  執行命令:
                  asadmin stop-domain -e domain_340

              2.4) delete domain

                  執行命令:
                  asadmin delete-domain -e domain_340
                  注意必須在domain處于stop的情況下才能delete。

              為了方便,提供一個簡單的ant腳本處理以上命令,直接通過exec來調用asadmin.bat:

              ant.build

              
          <?xml version="1.0" encoding="UTF-8"?>
          <project name="GfAsadminDemo" default="listDomains" >
              
          <description>demo of how to use adadmin command</description>
              
          <property file="build.properties" />

              
          <target name="listDomains">
                  
          <exec executable="asadmin.bat">
                      
          <arg line="list-domains -e"/>
                  
          </exec>
              
          </target>
             
              
          <target name="createDomain">
                  
          <echo>begin to create domain ${domain.name}</echo>
                  
          <exec executable="asadmin.bat" dir="." failifexecutionfails="true">
                      
          <arg line="create-domain --user ${AS_ADMIN_USER} -e --passwordfile=password.properties --portbase ${domain.baseport} --profile developer ${domain.name}"/>
                  
          </exec>
                  
          <echo>finish to create domain ${domain.name}</echo>
              
          </target>
             
              
          <target name="startDomain">
                  
          <echo>begin to start domain ${domain.name}</echo>
                  
          <exec executable="asadmin.bat" dir="." failifexecutionfails="true" >
                      
          <arg line="start-domain -e --passwordfile=password.properties ${domain.name}"/>
                  
          </exec>
                  
          <echo>finish to start domain ${domain.name}</echo>
              
          </target>
             
              
          <target name="stopDomain">
                  
          <echo>begin to stop domain ${domain.name}</echo>
                  
          <exec executable="asadmin.bat" dir="." failifexecutionfails="true">
                      
          <arg line="stop-domain -e ${domain.name}"/>
                  
          </exec>
                  
          <echo>finish to stop domain ${domain.name}</echo>
              
          </target>
             
              
          <target name="deleteDomain">
                  
          <echo>begin to delete domain ${domain.name}</echo>
                  
          <exec executable="asadmin.bat" dir=".">
                      
          <arg line="delete-domain -e ${domain.name}"/>
                  
          </exec>
                  
          <echo>finish to delete domain ${domain.name}</echo>
              
          </target>
          </project>


              build.properties

          domain.name=domain_340
          domain.baseport=34000
          AS_ADMIN_USER=sigadmin


              (更適當的方法是通過asant來直接操作,不過上面的ant腳本只是為了演示asadmin的使用。)

          ps,解釋一下為什么考慮從weblogic遷移道glassfish:

          1. 經濟原因
              畢竟glassfish不要錢,而weblogic價格不菲。我們做的產品是面對國際市場的各國電信運行商,總不可能讓他們從盜版吧。因此weblogic會帶來成本問題。
          2. 客戶需求
              這個其實也和經濟原因有關,因為成本問題,因此有客戶希望我們能將產品遷移到glassfish。而且最近有一個大客戶明確要求使用glassfish,為了在未來有機會拿到他們的單,glassfish的使用就變得很現實了。
          3. 技術原因
              weblogic目前對新技術的支持可以說是很不積極的,呵呵,可能weblogic有它的考慮,我們不深入討論。開源的免費的技術新潮的glassfish,尤其是即將發布的v3版本,很有吸引力。
              glassfish對于開發人員也更加友好,沒有weblogic的臃腫與龐大,尤其啟動速度太有優勢了

          4) 個人喜好
              這個就純屬個人喜歡,坦白說我對weblogic的上述表現非常厭惡,我個人就比較討厭大而滿的東西,weblogic和我的美學完全不相合,我學它用它只是為了工作。當然這個是很小的原因,不過似乎公司和我抱有類似想法的開發人員不少,因此還是可以形成一個不算太小的聲音。

              當然,最終公司是否會下定決心將我們那個巨無霸級別的產品遷移道glassfish上,還有很多很多的東西需要考慮和權衡,技術的,非技術的都有,目前只是處于可行性分析階段。

          posted on 2009-01-24 10:28 sky ao 閱讀(3447) 評論(6)  編輯  收藏 所屬分類: ejb

          評論

          # re: 初學glassfish(1)--安裝并準備開發環境 2009-01-24 11:52 heyang

          好,支持一下。

          GlassFish和Sun以前的AppServer有很大提升,市場反響也不錯,值得研究研究。相對而言從bea被Oracle收購后就開始走下坡路了。  回復  更多評論   

          # re: 初學glassfish(1)--安裝并準備開發環境[未登錄] 2009-01-24 17:37 Rainman

          為什么要從weblogic轉glassfish可以講一下么? 技術原因還是經濟原因  回復  更多評論   

          # re: 初學glassfish(1)--安裝并準備開發環境[未登錄] 2009-01-25 09:38 xxx

          為什么我執行java -Xmx256m -jar filename.jar后,
          在lib\ant\bin\ant目錄下沒有setup.xml文件?
            回復  更多評論   

          # re: 初學glassfish(1)--安裝并準備開發環境 2009-02-04 16:07 死循環

          建議還是考慮其他開源數據庫......postgre 也許更實際點....
          當然要看項目有多"大"....  回復  更多評論   

          # re: 初學glassfish(1)--安裝并準備開發環境 2009-02-25 15:53 runaway

          因為 setup.xml 是在 Glassfish 文件夾底下
          如:
          D:\glassfish>d:\glassfish\lib\ant\bin\ant -f setup.xml


          這樣 你進到 glassfish的地下運行上面



          為什么我執行java -Xmx256m -jar filename.jar后,
          在lib\ant\bin\ant目錄下沒有setup.xml文件?   回復  更多評論   

          # re: 初學glassfish(1)--安裝并準備開發環境[未登錄] 2009-05-17 10:00 Robin

          奇怪,我安裝后,在 bin 目錄下面只有一個 .dll 文件,沒有那些 bat 批處理文件,為什么???  回復  更多評論   

          主站蜘蛛池模板: 九寨沟县| 中宁县| 南澳县| 大英县| 丹棱县| 临朐县| 彩票| 临邑县| 金山区| 卫辉市| 马边| 洪泽县| 松溪县| 芦溪县| 开远市| 曲靖市| 徐闻县| 布拖县| 扎囊县| 保山市| 德安县| 天镇县| 达日县| 桑植县| 章丘市| 忻州市| 巴中市| 蚌埠市| 哈巴河县| 晋城| 伊川县| 庆城县| 文登市| 敦煌市| 宁波市| 定陶县| 富顺县| 云林县| 抚松县| 安陆市| 石首市|