JBoss6【基礎】簡介(未整理)

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

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

JBoss是一個管理EJB的容器和服務器,支持EJB 1.1EJB 2.0和EJB3.0的規範但JBoss核心服務不包括支持serverl/JSP的WEB容器,通常與Tomcat或Jetty綁定使用 

JBoss具備以下優勢: 

1JBoss是免費的,開放源代碼J2EE的實現,經過LGPL許可證進行發佈 

2JBoss須要的內存和硬盤空間比較小 

3安裝很是簡單先解壓縮JBoss打包文件再配置一些環境變量就能夠了 

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

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

6用戶能夠直接實施J2EE-EAR,而不是之前分別實施EJB-JAR和Web-WAR,很是方便 

7Jboss支持集羣 

JBoss的安裝和配置能夠直接拷貝使用,可是要改動 %JBoss-HOME%\bin\run.bat裏JAVA-HOME的設置,改爲本機JDK的目錄運行run.bat來啓動JBoss 

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

JBoss的目錄結構 

1bin:開始和中止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 

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

3lib:放置JBoss所須要的部分jar包文件 

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

5server:放置各啓動類型的服務器端EJB配置所須要的文件等 

6backup 

以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的文件夾,把要發佈的文件拷貝到這個目錄底下也能夠發佈成功 

補充 

1JBoss的默認端口是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公司同HPNovellComputer AssociatesUnisys等都是合做夥伴 
在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的應用感興趣,則最好可以閱讀這本權威著做java

相關文章
相關標籤/搜索