Jboss

来自站长百科
跳转至: 导航、​ 搜索

JBoss,是全世界开发者共同努力的成果,一个基于J2EE的开放源代码的应用服务器。 因为JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用它,而不用支付费用。2006年,Jboss公司被Redhat公司收购。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3.0的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与TomcatJetty绑定使用。

jbosslogo

JBoss的使用优点[ ]

  1. JBoss是免费的,开放源代码J2EE的实现,通过LGPL许可证进行发布。但同时也有闭源的,开源和闭源流入流出的不是同一途径。
  2. JBoss需要的内存和硬盘空间比较小。
  3. 安装便捷:解压后,只需配置一些环境变量即可。
  4. JBoss支持"热部署",部署BEAN时,只拷贝BEAN的JAR文件到部署路径下即可自动加载它;如果有改动,也会自动更新。
  5. JBoss与Web服务器在同一个Java虚拟机中运行,Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能。
  6. 用户可以直接实施J2EE-EAR,而不是以前分别实施EJB-JAR和Web-WAR,非常方便。
  7. Jboss支持集群。

JBoss的使用技巧[ ]

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

配置服务端口[ ]

修改文件:

%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即可

启动过程[ ]

设置环境变量 JBOSS_CLASSPATH (可以自己加上安全管理器和xml解析器)

  1. %JBOSS_CLASSPATH%;
  2. %JAVA_HOME%/lib/tools.jar;
  3. run.jar;
  4. ../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\下,部署成功。用"<>nowikihttp://localhost:8080/hello/</nowiki>"或"http://localhost:8080/hello/index.jsp"这两个地址进行测试。

2、制作Servlet的war部署文件
  • 用[ javac -classpath "%CLASSPATH%;%jboss_home%\server\default\lib\javax.servlet.jar" HelloWorld.java ]的形式编译HelloWorld.java(这是一个Servlet)得到HelloWorld.class
  • 写一个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:\servlet下建立一个web-inf目录,在目录中放入web.xml文件。
  • 在web-inf目录下建立一个classes目录,放入编译好的HelloWorld.class文件
  • 在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公司同HPNovellComputer Associates、Unisys等都是合作伙伴。

JBoss企业应用平台5.0特性[ ]

  • 第二代基于服务的架构:

核心的JBoss Microcontainer可以在多种编程和组件模型上提供改进后的级别加载、性能、生命周期管理和灵活性,其中包括Java EE、多种POJOOSGiSpring Framework和传统的现场和云操作环境。这种Microcontainer还提供将企业服务从核心运行时间引擎中分离出来的能力,使其更便于配置。

  • 改进后的管理和配置:

JBoss运营网络管理控制台的嵌入式版本可以提供一个全面的接口,用于管理和配置应用、控制应用服务器的运行,以及提供深入查看现场内外应用性能指标的能力。

  • Java EEF支持:

JBoss企业应用平台支持全套的Java EE 5标准,并可为多种即将推出的Java EE 6标准提供支持,其中也包括Java EE Web Profile概念。

  • 主要组件更新:

更新的内容包括企业版的JBoss Application Server、Hibernate、Seam、JBoss Cache和JBoss Web Services,可为各类部署环境中的扩展性、高可用性和智能负载均衡提供性能增强特性。这一新版本还可支持分布式事务和全面的Web服务栈支持。

最新版的JBoss运营网络 - JBoss ON 2.3可支持运行管理。该版本提供全面的管理支持,包括在传统和基于云的部署中配置应用集群,并在多种运行环境中提供可用性和性能管理。

JBoss Developer Studio还可为开发人员提供开发工具。这种基于Eclipse的集成式开发环境能够提供全面的工具集,使开发人员能够使用Seam、Java EE、Spring、Hibernate、AJAXRichFaces等技术,迅速建立丰富且交互性水平较高的应用和服务。

相关条目[ ]

参考来源[ ]