Jboss的作用是什么?


Boss是全世界開發者共同努力的成果,一個基於J2EE開放源代碼的應用服務器。 因為JBoss代碼遵循LGPL許可,你可以在任何商業應用中免費使用它,而不用支付費用。

  2006年,Jboss公司(http://jboss.org)被Redhat公司(http://redhat.com)收購。

  JBoss是一個管理EJB的容器和服務器,支持EJB 1.1、EJB 2.0和EJB3.0的規范。但JBoss核心服務不包括支持servlet/JSP的WEB容器,一般與TomcatJetty綁定使用。

  JBoss具有如下優點:

  1、JBoss是免費的,開放源代碼J2EE的實現,通過LGPL許可證進行發布。

  2、JBoss需要的內存和硬盤空間比較小。

  3、安裝非常簡單。先解壓縮JBoss打包文件再配置一些環境變量就可以了。

  4、JBoss能夠"熱部署",部署BEAN只是簡單拷貝BEAN的JAR文件到部署路徑下就可以了。如果沒有加載就加載它;如果已經加載了就自動更新。

  5、JBoss與Web服務器在同一個Java虛擬機中運行,Servlet調用EJB不經過網絡,從而大大提高運行效率,提升安全性能。

  6、用戶可以直接實施J2EE-EAR,而不是以前分別實施EJB-JAR和Web-WAR,非常方便。

  7、Jboss支持集群

  JBoss的安裝和配置可以直接拷貝使用,但是要改動 %JBoss-HOME%\bin\run.bat里JAVA-HOME的設置,改成本機JDK的目錄。運行run.bat來啟動JBoss

  關閉JBoss:關閉JBoss的 DOS 窗口或按"CTRL + C"

  JBoss的目錄結構

  1、bin:開始和停止JBoss的地方。

  其中有兩個主要的批處理文件:run.bat和shutdown.bat。要啟動JBoss只要執行run.bat文件即可;要停止JBoss必須執行shutdown.bat。

  注意,shutdown.bat文件直接執行並不會自動停止JBoss,它必須要輸入參數,參數意義如下:

  h顯示幫助信息;D設置系統屬性;-停止處理選項;s停止用JNDI URL指定的遠程服務;n通過制定JMX名字來停止服務;a適配到指定的JNDI名稱的遠程服務;u指定用戶名稱;p指定用戶密碼;S停止服務器;e從虛擬機退出;H暫停。

  一般,我們使用S選項來停止服務器。即執行shutdown.bat -S。

  2、docs:放置JBoss的例子、測試腳本和各種腳本配置文件的DTD。

  3、lib:放置JBoss所需要的部分jar包文件。

  4、client:放置EJB客戶端運行時所需要的jar包。

  5、server:放置各啟動類型的服務器端EJB配置所需要的文件等。

  6、backup

  以80端口服務

  修改這個文件: {%JBOSS_HOME%}\server\default\deploy\jbossweb-tomcat41.sar\META-INF\jboss-service.xml

  在"8080"的配置后加入以下代碼

  <!-- A HTTP/1.1 Connector on port 80 -->

  <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"

  port="80" minProcessors="5" maxProcessors="100"

  enableLookups="true" acceptCount="10" debug="0"

  connectionTimeout="20000" useURIValidationHack="false"/>

  重新啟動JBoss就OK了

  JBoss的啟動過程

  設置環境變量 JBOSS_CLASSPATH (可以自己加上安全管理器和xml解析器)

  a) %JBOSS_CLASSPATH%;

  b) %JAVA_HOME%/lib/tools.jar;

  c) run.jar

  d) ../lib/crimson.jar;

  設置啟動參數JAXP(xml解析器和相應工廠)

  啟動

  設置配置信息

  讀取配置文件JBoss.properties,保存在系統屬性中(System.properties)

  設置缺省屬性jboss.home和java.security.auth.login.config

  創建MBeanServer.的實例:

  把配置文件和補丁文件所在的目錄指定給特定的遠程類加載器Mlet

  加載保存配置文件(mlet會自動在配置文件目錄中查找)

  初始化並啟動MBean

  配置服務ConfigurationService

  加載配置文件

  保存配置

  服務控制ServiceControl

  初始化服務程序(init方法)

  啟動服務程序(start方法)

  在JBOSS中發布文件

  1、制作JSP的war部署文件

  用"jar cvf hello.war index.jsp main.jsp"的方式生成把index.jsp和main.jsp文件加入到hello.war中。把生成的hello.war拷貝到jboss安裝目錄\server\default\deploy\下,部署成功。用"http://localhost:8080/hello/"或"http://localhost:8080/hello/index.jsp"這兩個地址進行測試。

  2、制作Servlet的war部署文件

  A、用"javac -classpath "%CLASSPATH%;%jboss_home%\server\default\lib\javax.servlet.jar" HelloWorld.java"的形式編譯HelloWorld.java(這是一個Servlet)得到HelloWorld.class

  B、寫一個web.xml配置文件

  代碼如下:

  <?xml version="1.0" encoding="UTF-8"?>

  <!DOCTYPE web-app

  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

  "http://java.sun.com/dtd/web-app_2_3.dtd">

  <web-app>

  <servlet>

  <servlet-name>HelloWorld</servlet-name>

  <servlet-class>hello.HelloWorld</servlet-class>

  </servlet>

  <servlet-mapping>

  <servlet-name>HelloWorld</servlet-name>

  <url-pattern>/HelloWorld</url-pattern>

  </servlet-mapping>

  </web-app>

  每個標記必須小寫,否則會出錯。

  C、先在c:\servlet下建立一個web-inf目錄,在目錄中放入web.xml文件。

  D、在web-inf目錄下建立一個classes目錄,放入編譯好的HelloWorld.class文件

  E、在c:\servlet下執行jar cvf hello.war *.*,很快就生成了一個名為hello.war的文件,接着把hello.war復制到jboss的安裝目錄\server\default\deploy\下完成部署。

  3、也可以不打包,把文件放在deploy下的同名文件夾下也可以。比如原來是制作成hello.war文件,可以建立一個名稱為hello.war的文件夾,把要發布的文件拷貝到這個目錄底下也可以發布成功。

  補充

  1、JBoss的默認端口是8080

  2、對於NT和Win2000系統如果你要安裝NT或Win2000服務的話,可以把JBoss加在系統服務中,避免你每次需要到JBoss目錄下運行run.bat命令,只是當系統啟動時,自動啟動JBoss服務器。

  JBoss應用服務器現狀與展望

  近年來,在J2EE應用服務器領域,JBoss是發展最為迅速的應用服務器。由於JBoss遵循商業友好的LGPL授權分發,並且由開源社區開發,這使得JBoss廣為流行。另外,JBoss應用服務器還具有許多優秀的特質。其一,它將具有革命性的JMX微內核服務作為其總線結構;其二,它本身就是面向服務的架構(Service-Oriented Architecture,SOA);其三,它還具有統一的類裝載器,從而能夠實現應用的熱部署和熱卸載能力。因此,它是高度模塊化的和松耦合的。 JBoss用戶的積極反饋告訴我們,JBoss應用服務器是健壯的、高質量的,而且還具有良好的性能。

  為滿足企業級市場日益增長的需求,JBoss公司從2003年開始就推出了24*7、專業級產品支持服務。同時,為拓展JBoss的企業級市場,JBoss公司還簽訂了許多渠道合作伙伴。比如,JBoss公司同HP、Novell、Computer Associates、Unisys等都是合作伙伴。

  在2004年 6月,JBoss公司宣布,JBoss應用服務器通過了Sun公司的J2EE認證。這是JBoss應用服務器發展史上至今為止最重要的里程碑。與此同時, JBoss一直在緊跟最新的J2EE規范,而且在某些技術領域引領J2EE規范的開發。因此,無論在商業領域,還是在開源社區,JBoss成為了第一個通過J2EE 1.4認證的主流應用服務器。現在,JBoss應用服務器已經真正發展成具有企業強度(即,支持關鍵級任務的應用)的應用服務器。

  JBoss 4.0作為J2EE認證的重要成果之一,已經於2004年9月順利發布了。同時,JBoss 4.0還提供了JBoss AOP(Aspect-Oriented Programming,面向方面編程)組件。近來,AOP吸引了大量開發者的關注。它提供的新的編程模式使得用戶能夠將方面(比如,事務)從底層業務邏輯中分離出來,從而能夠縮短軟件開發周期。用戶能夠單獨使用JBoss AOP,即能夠在JBoss應用服務器外部使用它。或者,用戶也可以在應用服務器環境中使用它。JBoss AOP 1.0已經在2004年10月發布了。

  展望下一代JBoss應用服務器,其重點關注的是EJB 3.0。當前,J2EE 1.4規范使用了EJB 2.1。其中,EJB 3.0的主要目標是簡化EJB模型,即用戶能夠更容易開發EJB組件,並且能夠在EJB容器外部測試EJB組件。EJB 3.0規范草案已經於2004年6月推出。JBoss公司一直在積極參與EJB 3.0規范的制定,並且在為EJB規范的發展貢獻自己的力量。其中,Gavin King(Hibernate的創立者)和Bill Burke(JBoss公司的首席架構師)已經為EJB 3.0規范草案貢獻了很多內容。

  JBoss公司於2004年10月初發布了基於JBoss應用服務器實現的EJB 3.0預覽版。盡管EJB 3.0規范草案還處於初期發展和評審階段,但這為J2EE社區測試EJB 3.0、並提供反饋信息提供了很好的機會。這也證實了JBoss是一家創新型公司。JBoss一直在引領技術規范的發展。

  近年來, Hibernate已經成為了事實上的持久化引擎。JBoss公司致力於將自身發展成為開源項目的社區,比如招募Gavin King和許多Hibernate開發者。其中,最新版的JBoss應用服務器已經將Hibernate集成為JMX MBean服務。這使得用戶能夠在應用服務器環境中直接使用Hibernate,而不管它是否處於J2EE上下文中。

  從2003年開始,JBoss啟動了JBossCache項目。JBossCache是基於內存的、可復制的、事務性的緩存系統,並且具有持久化狀態存儲管理能力。最近,它受到極大的關注。用戶能夠在JBoss應用服務器或其他應用服務器中,或單獨使用JBossCache。同時,它提供的基於JBoss AOP的AOP模塊能夠在可復制環境中實現細粒度、域級別復制,而且能夠透明地管理復雜對象。在最新版的JBoss應用服務器中,用戶能夠直接通過JMX MBean服務訪問到JBossCache提供的服務。

  下一代的JBoss應用服務器(暫定名為,JBoss 5.0)將提供大量的新功能。除了支持最新的EJB 3.0規范外,新版的JBoss AOP將同它正式發布。同時,JBoss開發團隊還計划開發新的微內核層,即獨立於JMX,使得它能夠獨立使用。另外,有關JBoss應用服務器的架構和開發,開發者可以參考由Scott Stark博士著的《JBoss Administration and Development 3.2.x Third Edition》一書(此書已由電子工業出版社引進並翻譯出版,中文版書名為《JBoss管理和開發核心技術(第三版)》)。Scott Stark博士是JBoss公司的創始人之一,他一直在領導JBoss產品的研發。該書內容涵蓋了JBoss應用服務器的方方面面,比如JMX微內核、客戶端和服務器端攔截器以及J2EE平台服務的實現等內容。如果開發者對JBoss內核和開發基於JBoss/J2EE的應用感興趣,則最好能夠閱讀這本權威著作。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com