久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

JBoss

來(lái)自站長(zhǎng)百科
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

JBoss是一套應(yīng)用程序服務(wù)器,屬于開(kāi)源的企業(yè)級(jí)Java中間件軟件,用于實(shí)現(xiàn)基于SOA架構(gòu)的web應(yīng)用和服務(wù)。它包含一組可獨(dú)立運(yùn)行的軟件。

JBoss是全世界開(kāi)發(fā)者共同努力的成果,可以在任何商業(yè)應(yīng)用中免費(fèi)使用它,而不用支付費(fèi)用。2006年,Jboss公司被Redhat公司收購(gòu)。JBoss是一個(gè)管理EJB的容器和服務(wù)器,支持EJB 1.1、EJB 2.0和EJB3.0的規(guī)范。但JBoss核心服務(wù)不包括支持servlet/JSP的WEB容器,一般與TomcatJetty綁定使用。

優(yōu)點(diǎn)[ ]

  • JBoss是免費(fèi)的,開(kāi)放源代碼J2EE的實(shí)現(xiàn),通過(guò)LGPL許可證進(jìn)行發(fā)布。
  • JBoss需要的內(nèi)存硬盤(pán)空間比較小。
  • 安裝便捷:解壓后,只需配置一些環(huán)境變量即可。
  • JBoss支持"熱部署",部署B(yǎng)EAN時(shí),只拷貝BEAN的JAR文件到部署路徑下即可自動(dòng)加載它;如果有改動(dòng),也會(huì)自動(dòng)更新。
  • JBoss與Web服務(wù)器在同一個(gè)Java虛擬機(jī)中運(yùn)行JBoss運(yùn)行后后臺(tái)管理界面,Servlet調(diào)用EJB不經(jīng)過(guò)網(wǎng)絡(luò),從而大大提高運(yùn)行效率,提升安全性能。
  • 用戶可以直接實(shí)施J2EE-EAR,而不是以前分別實(shí)施EJB-JAR和Web-WAR,非常方便。
  • Jboss支持集群。

使用技巧[ ]

Jboss的目錄結(jié)構(gòu)[ ]

  • bin:開(kāi)始和停止JBoss的地方。

其中有兩個(gè)主要的批處理文件:run.bat和shutdown.bat。要啟動(dòng)JBoss只要執(zhí)行run.bat文件即可;要停止JBoss必須執(zhí)行帶參數(shù)的shutdown.bat。

注意,shutdown.bat文件直接執(zhí)行并不會(huì)自動(dòng)停止JBoss,它必須要輸入?yún)?shù),參數(shù)意義如下:

  1.   -h 顯示幫助信息;
  2.   -D 設(shè)置系統(tǒng)屬性;
  3.   -- 停止處理選項(xiàng);
  4.   -s 停止用JNDI URL指定的遠(yuǎn)程服務(wù);
  5.   -n 通過(guò)制定JMX名字來(lái)停止服務(wù);
  6.   -a 適配到指定的JNDI名稱的遠(yuǎn)程服務(wù);
  7.   -u 指定用戶名稱;
  8.   -p 指定用戶密碼;
  9.   -S 停止服務(wù)器;
  10.   -e 從虛擬機(jī)退出;
  11.   -H 暫停(掛起)。

一般,我們使用-S選項(xiàng)來(lái)停止服務(wù)器。即執(zhí)行shutdown.bat -S。

  • docs:放置JBoss的例子、測(cè)試腳本和各種腳本配置文件的DTD。
  • lib:放置JBoss所需要的部分jar包文件。
  • client:放置EJB客戶端運(yùn)行時(shí)所需要的jar包。
  • server:放置各啟動(dòng)類(lèi)型的服務(wù)器端EJB配置所需要的文件等。
  • backup

配置服務(wù)端口[ ]

修改文件: %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"/>

重新啟動(dòng)JBoss即可

啟動(dòng)過(guò)程[ ]

設(shè)置環(huán)境變量 JBOSS_CLASSPATH (可以自己加上安全管理器和xml解析器) a) %JBOSS_CLASSPATH%;

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

c) run.jar;

d) ../lib/crimson.jar;

設(shè)置啟動(dòng)參數(shù)JAXP(xml解析器和相應(yīng)工廠)

啟動(dòng)

設(shè)置配置信息

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

設(shè)置缺省屬性jboss.home和java.security.auth.login.config

創(chuàng)建MBeanServer.的實(shí)例:

把配置文件和補(bǔ)丁文件所在的目錄指定給特定的遠(yuǎn)程類(lèi)加載器Mlet

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

初始化并啟動(dòng)MBean

配置服務(wù)ConfigurationService

加載配置文件

保存配置

服務(wù)控制ServiceControl

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

啟動(dòng)服務(wù)程序(start方法)

在JBOSS中發(fā)布文件[ ]

  • 制作JSP的war部署文件:

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

  • 制作Servlet的war部署文件
  1. 用[ javac -classpath "%CLASSPATH%;%jboss_home%\server\default\lib\javax.servlet.jar" HelloWorld.java ]的形式編譯HelloWorld.java(這是一個(gè)Servlet)得到HelloWorld.class
  2. 寫(xiě)一個(gè)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>

每個(gè)標(biāo)記(標(biāo)簽)必須小寫(xiě),否則會(huì)出錯(cuò)。

  1. 先在c:\servlet下建立一個(gè)web-inf目錄,在目錄中放入web.xml文件。
  2. 在web-inf目錄下建立一個(gè)classes目錄,放入編譯好的HelloWorld.class文件
  3. 在c:\servlet下執(zhí)行jar cvf hello.war *.*,很快就生成了一個(gè)名為hello.war的文件,接著把hello.war復(fù)制到j(luò)boss的安裝目錄\server\default\deploy\下完成部署。
  • 也可以不打包,把文件放在deploy下的同名文件夾下也可以。比如原來(lái)是制作成hello.war文件,可以建立一個(gè)名稱為hello.war的文件夾,把要發(fā)布的文件拷貝到這個(gè)目錄底下也可以發(fā)布成功。

JBoss的服務(wù)器架構(gòu)概述[ ]

JBoss的構(gòu)架和其他J2EE應(yīng)用服務(wù)器的構(gòu)架有著巨大的不同。JBoss的模塊架構(gòu)是建立在JMX底層上的,下圖展現(xiàn)了JBoss主要組件和JMX的聯(lián)系。

Jboss 1.jpg

JMX層次[ ]

JMX是一個(gè)可復(fù)用框架,它為遠(yuǎn)程(Remote)和本地(Local)管理工具擴(kuò)展了應(yīng)用。它的架構(gòu)是層式架構(gòu)。他們是實(shí)現(xiàn)層(instrumentation layer)、代理層(agent layer)和發(fā)布層(distribution layer)。其中,發(fā)布層還在等待未來(lái)的標(biāo)準(zhǔn)化。簡(jiǎn)要的表述是,用戶使用管理Bean,MBean來(lái)提供獲得相應(yīng)資源的實(shí)現(xiàn)方法。實(shí)現(xiàn)層實(shí)現(xiàn)相關(guān)的特性資源并將它發(fā)布于JMX相關(guān)應(yīng)用中,它的代理層控制和發(fā)布相應(yīng)的注冊(cè)在MBeanServer代理上的管理資源。

Jboss 2.jpg

Boss主要模塊[ ]

主要的JBoss模塊是在MeanServer上的可管理MBean。

  • JBoss EJB容器是JBoss服務(wù)器的核心實(shí)現(xiàn)。它有兩個(gè)特性,第一是在運(yùn)行期產(chǎn)生EJB 對(duì)象的Stub和Skeleton類(lèi),第二是支持熱部署。
  • JBossNS是JBoss命名服務(wù)用來(lái)定位對(duì)象和資源。它實(shí)現(xiàn)了JNDI J2EE規(guī)范.
  • JBossTX 是由JTA/JTS支持的交易管理控制.
  • 部署服務(wù)支持EJB(jar)、Web應(yīng)用文檔(war)和企業(yè)級(jí)應(yīng)用文檔(ears)的部署。它會(huì)時(shí)刻關(guān)心J2EE應(yīng)用的URL情況,一旦它們被改變或出現(xiàn)的時(shí)候?qū)⒆詣?dòng)部署。
  • JBossMQ使Java 消息規(guī)范(JMS)的實(shí)現(xiàn)。
  • JBossSX支持基于JAAS的或不支持JAAS機(jī)制的安全實(shí)現(xiàn)。
  • JBossCX實(shí)現(xiàn)了部分JCA的功能。JCA制訂了J2EE應(yīng)用組件如何訪問(wèn)基于連接的資源。
  • Web服務(wù)器支持Web容器和Servlet引擎。JBoss 2.4.x版本支持Tomcat 4.0.1,Tomcat 3.23和Jetty 3.x服務(wù).

JBoss架構(gòu)設(shè)計(jì)中的兩個(gè)重要的特性[ ]

第一是使用JMX作為一個(gè)軟件總線垂直的貫穿其所有的服務(wù),通過(guò)將新的服務(wù)組件遵循JMX規(guī)范掛接上"總線",使得系統(tǒng)擴(kuò)展現(xiàn)有的服務(wù)變得容易??刹迦胧娇蚣鼙粡V泛的運(yùn)用于服務(wù)的實(shí)現(xiàn)。開(kāi)發(fā)者可以選擇他們需要的服務(wù)并編寫(xiě)他們所需要的相應(yīng)實(shí)現(xiàn),通過(guò)定義在部署描述文件中,讓JBoss服務(wù)器知道。

第二是容器被設(shè)計(jì)成為動(dòng)態(tài)代理機(jī)制,這樣使容器的實(shí)現(xiàn)變得簡(jiǎn)單和使開(kāi)發(fā)者避免費(fèi)勁的將jar文件進(jìn)行預(yù)編譯以獲得stub和skeleton代碼。但是這樣做潛在的問(wèn)題是性能和可測(cè)性,因?yàn)槲覀冎纉ava反射機(jī)制會(huì)引起性能的損失。

相關(guān)條目[ ]

參考來(lái)源[ ]