jboss

關於JBoss



  JBoss是全世界開發者共同努力的成果,一個基於J2EE的開放源代碼的應用服務器。在不
  到12個月的時間裏有一百萬以上的拷貝被下載。JBoss是第一位的J2EE應用服務器。
  
  JBoss完全實現了J2EE的服務棧:
    * EJB (Enterprise JavaBeans)
    * JMS (Java Message Service)
    * JTS/JTA (Java Transaction Service / Java Transaction API)
    * Servlet and JSP (JavaServer Pages)
    * JNDI (Java Naming and Directory Interface)
  
  它還提供一些高級特性,比如集羣、JMX、Web Service。
  它還整合了IIOP(Internet Inter-ORB Protocol)。
  
  因爲JBoss代碼遵循LGPL許可,你可以在任何商業應用中免費使用它,而不用支付費用。
  LGPL - GNU Lesser General Public License, 
  參考http://www.gnu.org/copyleft/lesser.txt
  

安裝JBoss應用服務器



  首先,確定你已經安裝了J2SE JDK 1.3或者更高的版本,並且進行了正確的配置。
  這很基礎,你需要正確配置以下環境變量:
    * JAVA_HOME
    * CLASSPATH
    * PATH 
  
  然後到JBoss的web站點(http://www.jboss.org)下載JBoss的二進制版本。
  你會發現所有當前的二進制版本分爲zip和tar.gz格式的文件。
  zip適合Windows系統,而tar.gz適合Unix類的系統,選擇你最適合你的版本。
  
  解壓縮你下載的文件到一個目錄(你自己選擇),在windows下,你可以是使用winzip等
  工具,在Unix下,你可以用下面的命令:
  $ gunzip jboss-3.2.0.tar.gz
  $ tar xf jboos-3.2.0.tar
  
  設置JBOSS_HOME環境變量,爲你的JBoss的安裝目錄。
  
  然後到$JBOSS_HOME/bin目錄中,運行“啓動腳本”:
  Unix:
    $ ./run.sh
  Windows:
    c:/jboss-3.2.0/bin>run.bat
    
  實例,JBoss二進制版本爲3.2.2,J2SDK版本爲1.4.1:
    
    windows 2k系統下:
      J2SDK安裝在c:/j2sdk,JBoss安裝在c:/jboss,環境變量的設置如下:
      JAVA_HOME=C:/j2sdk
      CLASSPATH=%CLASSPATH%;%JAVA_HOME%/lib/*.jar;%JAVA_HOME%/jre/lib/*.jar
      JBOSS_HOME=C:/jboss
      PATH=%PATH%;%JAVA_HOME%/bin;%JBOSS_HOME%/bin
    
    unix類系統下:
      J2SDK安裝在/opt/j2sdk,JBoss安裝在/opt/jboss,環境變量的設置如下:
      JAVA_HOME=/opt/j2sdk
      CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/*.jar:$JAVA_HOME/jre/lib/*.jar
      JBOSS_HOME=/opt/jboss
      PATH=$PATH:$JAVA_HOME/bin:$JBOSS_HOME/bin

 探索JBoss的目錄結構



  安裝JBoss會創建下列目錄結構:
  
  表1.1 JBoss的目錄
[pre]  ------------------------------------------------------------------------------
  目錄                  描述
  ------------------------------------------------------------------------------
  bin                   啓動和關閉JBoss的腳本
  client                客戶端與JBoss通信所需的的Java庫(JARs)
  docs                  配置的樣本文件(數據庫配置等)
  doc/dtd               在JBoss中使用的各種XML文件的DTD。
  lib                   一些JAR,JBoss啓動時加載,且被所有JBoss配置共享。
                        (不要把你的庫放在這裏)
  server                各種JBoss配置。每個配置必須放在不同的子目錄。子目錄的
                        名字表示配置的名字。
                        JBoss包含3個默認的配置:minimial,default和all。
  server/all            JBoss的完全配置,啓動所有服務,包括集羣和IIOP。
  server/default        JBoss的默認配置。
                        在沒有在JBoss命令航中指定配置名稱時使用。
  server/default/conf   JBoss的配置文件。下一節你會學習到更多關於其內容的知識。
  server/default/data   JBoss的數據庫文件。比如,嵌入的數據庫,或者JBossMQ。
  server/default/deploy JBoss的熱部署目錄。放到這裏的任何文件或目錄會被JBoss自動
                        部署。EJB、WAR、EAR,甚至服務。
  server/default/lib    一些JAR,JBoss在啓動特定配置時加載他們。
                        (all和minimial配置也包含這個和下面兩個目錄。)
  server/default/log    JBoss的日誌文件。
  server/default/tmp    JBoss的臨時文件。
  ------------------------------------------------------------------------------[/pre]  
  如果你想要定義自己的配置,要先在server目錄下創建一個新的包含適當文件的子目錄。
  啓動時可用-c參數指定要啓動的配置:
  Windows:
    C:/jboss-3.2.0/bin>run.bat -c config-name
  Unix
    $ ./run.sh -c config-name
    

 JBoss配置文件



  就像上一節說的,JBoss的server目錄可以包含任意數目的目錄,每個表示一個不同的
  JBoss配置。
  
  server/config-name/conf目錄包含JBoss的配置文件。
  表1.2給出了這些不同的文件的用途:
  
  表1.2、JBoss的配置文件
[pre]  ------------------------------------------------------------------------------
  文件                      描述
  ------------------------------------------------------------------------------
  jacorb.properties         JBoss IIOP 配置
  jbossmq-state.xml         JBossMQ(JMS的實現)用戶配置
  jboss-service.xml         啓動時運行的JBoss的服務的定義(class loader,JNDI,
                            deployer等)
  log4j.xml                 Log4J的配置
  login-config.xml          JBoss安全配置(JBossSX)
  standardjaws.xml          JBoss的遺留CMP 1.1引擎的默認配置。包含對各種數據庫的
                            JDBC-to-SQL的映射信息,默認CMP設置,日誌配置等。
  standardjbosscmp-jdbc.xml 除了被用於JBoss的CMP 2.0引擎之外,
                            與standardjaws.xml相同,
  ------------------------------------------------------------------------------[/pre]  

 JBoss中的部署



  JBoss中的部署過程非常的簡單、直接。在每一個配置中,JBoss不斷的掃描一個特殊的目
  錄的變化:$JBOSS_HOME/server/config-name/deploy
  
  此目錄一般被稱爲“部署目錄”。
  
  你可以把下列文件拷貝到此目錄下:
    * 任何jar庫(其中的類將被自動添加到JBoss的classpath中)
    * EJB JAR
    * WAR (Web Appliction aRrchive)
    * EAR (Enterprise Application aRchive)
    * 包含JBoss MBean定義的XML文件
    * 一個包含EJB JAR、WAR或者EAR的解壓縮內容,並以.jar、.war或者.ear結尾的目錄。
  
  要重新部署任何上述文件(JAR、WAR、EAR、XML等),用新版本的文件覆蓋以前的就可以
  了。JBoss會根據比較文件的時間發現改變,寫在以前的文件,然後部署新的文件。
  要重新部署一個目錄,更新他的修改時間即可,比如touch。
  

 迅速瀏覽JBoss的內部結構



  從3.0版本開始,JBoss已經被圍繞一些非常強大的概念來構建,允許用戶自定義和調整他
  們的服務器,而不侷限於J2EE。
  靈活性允許JBoss可以用於不同的環境,範圍從嵌入式系統到非常大的服務器集羣。
  
  下面幾節將簡要的介紹這些概念中的一部分。

微內核架構


  JBoss基於一個微內核設計,即組件可以在運行時插入以擴展它的行爲。
  這個設計非常適合J2EE平臺,一個本質上基於服務的平臺。這個平臺包含持久化,事務,
  安全,名稱,消息,日誌等服務。
  
  其他應用服務器一般象單片集成電路一樣,它們總是包含所有J2EE平臺的服務。JBoss採
  用完全不同的方法:每個服務像組件一樣被熱部署於一個非常簡潔的內核之上,稱爲
  JBoss Server Spine。此外,用戶被鼓勵去實現他們自己的運行於JBoss上的服務。
  
  因此,JBoss應用服務器不限於J2EE應用,他被頻繁的用於構建任何需要強大且可靠基礎
  的應用。因此,JBoss的核心也被認爲是WebOS。
  
  圖1.1 JBoss Server spine和一些熱部署的服務
  
[pre]     JMS         User Service A    EJB Container
  (JBossMQ)         |                  |
      |               |                  |
  +-------------------------------------------------+
  |                                                 |
  |              JBoss Server Spine                 |
  |                                                 |
  +-------------------------------------------------+
     |                |                  |
    JNDI             JNDI                |
  (JBossNS)        (JBossNS)         Servlet/JSP
  [/pre]
  JBoss Server Spine 基於Sun的JMX(Java Managerment eXtensions)規範,
  以標準的方式使任何已部署的組件可以被管理。
  按照JMX習慣中,JBoss中一個已部署的服務被稱爲一個MBean(a managed bean)。
  
    更多關於JMX規範的信息可以在Sun的web站點找到:
    http://java.sun.com/products/JavaManagement
    
 熱部署


  自從2.0發佈版本,JBoss已經因是第一個支持熱部署和重部署的基於J2EE的應用服務器而
  著稱,而那時很多應用服務器還需要重新啓動以更新一個應用程序。
  感謝微內核架構和革命性的Java類加載器,JBoss 3.0和以後的發佈版本進一步推動這種
  邏輯。不但可以熱部署和重新部署應用程序,而且他們可以熱部署任何服務,並且跟蹤服
  務間的依賴。
  這些特性使JBoss可被用於非常苛刻的環境,比如電信系統。

 網絡引導


  JBoss可以在網絡的任何位置引導自己和你的應用程序,只要爲JBoss Server Spine指定
  一個簡單的URL。這允許你從一箇中央web服務器管理一個JBoss節點集羣的全部配置。這
  給人深刻印象的機動性使新服務器的部署非常的簡單。
  JBoss的bootstrap代碼只有大約50k,它適合很多嵌入式系統。
  
 分開的調用者


  JBoss完全的分離了協議的處理器,從目標服務接收的調用最終爲請求提供服務。因此,
  當一個給定協議的新的處理器(稱爲一個JBoss的調用者)被部署到JBoss,可以自動的通
  過這個新的調用傳送器到達所有已存在的服務和應用程序。
  JBoss 3.2目前支持下列類型的調用者:
  * RMI
  * RMI over HTTP
  * IIOP
  * JMS
  * SOAP
  * HA-RMI(Clustering over RMI)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章