Sky's blog

          我和我追逐的夢(mèng)

          常用鏈接

          統(tǒng)計(jì)

          其他鏈接

          友情鏈接

          最新評(píng)論

          初學(xué)glassfish(1)--安裝并準(zhǔn)備開(kāi)發(fā)環(huán)境


              近期由于公司有意向在未來(lái)將目前的一個(gè)大型產(chǎn)品從weblogic移植到glassfish,因此提前學(xué)習(xí)glassfish以做好準(zhǔn)備。

              首先從下載安裝開(kāi)發(fā),學(xué)習(xí)如何搭建glassfish的開(kāi)發(fā)環(huán)境。

          一. 下載安裝運(yùn)行
              1) 下載
              從官網(wǎng)https://glassfish.dev.java.net/public/downloadsindex.html下載,目前最新的release版本是GlassFish Server v2 Update Release 2 (UR2)。v3只有
          Prelude版本,正式的v3估計(jì)要到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. 執(zhí)行java -Xmx256m -jar filename.jar
                      按照安裝程序的提示進(jìn)行。
                  3. 運(yùn)行ant腳本 lib\ant\bin\ant -f setup.xml
                  4. 完成后,在原目錄下會(huì)出現(xiàn)一個(gè)glassfish目錄,所有文件都在里面

                  在安裝前請(qǐng)先確保jdk已經(jīng)正確安裝,JAVA_HOME屬性設(shè)置正確.

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

              4) 運(yùn)行
                  需要使用到glassfish\bin\目錄下的asadmin.bat。
                  方法1) 直接鼠標(biāo)雙擊,彈出窗口中輸入start-domain domain1,如果成功會(huì)看到啟動(dòng)信息。
                  方法2) 運(yùn)行 -> cmd 進(jìn)入命令行,進(jìn)入glassfish\bin目錄,執(zhí)行asadmin start-domain domain1

              5) 檢驗(yàn)
                  打開(kāi)瀏覽器訪問(wèn)http://localhost:8080/,或者訪問(wèn)glassfish的console http://localhost:4848/.

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

          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



          三.搭建自己的開(kāi)發(fā)環(huán)境

          1. 新建admin用戶

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

              User ID = sigadmin
              Group List = asadmin
              password = sigadmin


          2. 新建開(kāi)發(fā)需要使用的domain

              默認(rèn)安裝時(shí)會(huì)建立domain1,為了方便我們需要自行建立屬于自己的domain,尤其對(duì)于公司團(tuán)隊(duì)開(kāi)發(fā),往往一臺(tái)開(kāi)發(fā)機(jī)器上安裝一個(gè)glassfish,不同開(kāi)發(fā)人員每人都有屬于自己的domain來(lái)開(kāi)發(fā)測(cè)試。


              2.1) create domain

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

                  其中--passwordfile=password.properties指明密碼文件,否則asadmin命令會(huì)以交互方式要求輸入相應(yīng)密碼。password.properties文件內(nèi)容如下:

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

                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.

                  和前面默認(rèn)建立的domain1的端口對(duì)照,可以看到基本是每個(gè)端口都有一個(gè)基數(shù),然后加portbase就得到最終使用的端口好。

                                              portbase=34000        default        基數(shù)

          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比較方便記憶,推薦這樣使用,避免逐個(gè)指定不同端口。為了方便記憶,domain的名字取名為domain_340以對(duì)應(yīng)。

              2.2)start domain

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

              2.4) delete domain

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

              為了方便,提供一個(gè)簡(jiǎn)單的ant腳本處理以上命令,直接通過(guò)exec來(lái)調(diào)用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


              (更適當(dāng)?shù)姆椒ㄊ峭ㄟ^(guò)asant來(lái)直接操作,不過(guò)上面的ant腳本只是為了演示asadmin的使用。)

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

          1. 經(jīng)濟(jì)原因
              畢竟glassfish不要錢,而weblogic價(jià)格不菲。我們做的產(chǎn)品是面對(duì)國(guó)際市場(chǎng)的各國(guó)電信運(yùn)行商,總不可能讓他們從盜版吧。因此weblogic會(huì)帶來(lái)成本問(wèn)題。
          2. 客戶需求
              這個(gè)其實(shí)也和經(jīng)濟(jì)原因有關(guān),因?yàn)槌杀締?wèn)題,因此有客戶希望我們能將產(chǎn)品遷移到glassfish。而且最近有一個(gè)大客戶明確要求使用glassfish,為了在未來(lái)有機(jī)會(huì)拿到他們的單,glassfish的使用就變得很現(xiàn)實(shí)了。
          3. 技術(shù)原因
              weblogic目前對(duì)新技術(shù)的支持可以說(shuō)是很不積極的,呵呵,可能weblogic有它的考慮,我們不深入討論。開(kāi)源的免費(fèi)的技術(shù)新潮的glassfish,尤其是即將發(fā)布的v3版本,很有吸引力。
              glassfish對(duì)于開(kāi)發(fā)人員也更加友好,沒(méi)有weblogic的臃腫與龐大,尤其啟動(dòng)速度太有優(yōu)勢(shì)了

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

              當(dāng)然,最終公司是否會(huì)下定決心將我們那個(gè)巨無(wú)霸級(jí)別的產(chǎn)品遷移道glassfish上,還有很多很多的東西需要考慮和權(quán)衡,技術(shù)的,非技術(shù)的都有,目前只是處于可行性分析階段。

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

          評(píng)論

          # re: 初學(xué)glassfish(1)--安裝并準(zhǔn)備開(kāi)發(fā)環(huán)境 2009-01-24 11:52 heyang

          好,支持一下。

          GlassFish和Sun以前的AppServer有很大提升,市場(chǎng)反響也不錯(cuò),值得研究研究。相對(duì)而言從bea被Oracle收購(gòu)后就開(kāi)始走下坡路了。  回復(fù)  更多評(píng)論   

          # re: 初學(xué)glassfish(1)--安裝并準(zhǔn)備開(kāi)發(fā)環(huán)境[未登錄](méi) 2009-01-24 17:37 Rainman

          為什么要從weblogic轉(zhuǎn)glassfish可以講一下么? 技術(shù)原因還是經(jīng)濟(jì)原因  回復(fù)  更多評(píng)論   

          # re: 初學(xué)glassfish(1)--安裝并準(zhǔn)備開(kāi)發(fā)環(huán)境[未登錄](méi) 2009-01-25 09:38 xxx

          為什么我執(zhí)行java -Xmx256m -jar filename.jar后,
          在lib\ant\bin\ant目錄下沒(méi)有setup.xml文件?
            回復(fù)  更多評(píng)論   

          # re: 初學(xué)glassfish(1)--安裝并準(zhǔn)備開(kāi)發(fā)環(huán)境 2009-02-04 16:07 死循環(huán)

          建議還是考慮其他開(kāi)源數(shù)據(jù)庫(kù)......postgre 也許更實(shí)際點(diǎn)....
          當(dāng)然要看項(xiàng)目有多"大"....  回復(fù)  更多評(píng)論   

          # re: 初學(xué)glassfish(1)--安裝并準(zhǔn)備開(kāi)發(fā)環(huán)境 2009-02-25 15:53 runaway

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


          這樣 你進(jìn)到 glassfish的地下運(yùn)行上面



          為什么我執(zhí)行java -Xmx256m -jar filename.jar后,
          在lib\ant\bin\ant目錄下沒(méi)有setup.xml文件?   回復(fù)  更多評(píng)論   

          # re: 初學(xué)glassfish(1)--安裝并準(zhǔn)備開(kāi)發(fā)環(huán)境[未登錄](méi) 2009-05-17 10:00 Robin

          奇怪,我安裝后,在 bin 目錄下面只有一個(gè) .dll 文件,沒(méi)有那些 bat 批處理文件,為什么???  回復(fù)  更多評(píng)論   

          主站蜘蛛池模板: 文成县| 邵东县| 崇信县| 库伦旗| 柳林县| 焉耆| 米林县| 马尔康县| 巴楚县| 伊金霍洛旗| 天水市| 巨鹿县| 安义县| 资溪县| 铜山县| 左云县| 通许县| 耒阳市| 苏尼特左旗| 嵩明县| 石门县| 牡丹江市| 巍山| 仁怀市| 辽阳市| 祁连县| 新野县| 庆城县| 莒南县| 海南省| 文安县| 黎平县| 利川市| 巴青县| 乌拉特后旗| 得荣县| 湾仔区| 湖州市| 吉首市| 旺苍县| 毕节市|