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的应用感兴趣,则最好能够阅读这本权威著作

你可能感兴趣的:(JBoss6【基础】简介(未整理))