`

什么是JBoss

    博客分类:
  • J2EE
阅读更多

摘要:JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3.0的规范。但JBoss核心服务不包括支持serverl/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

 

JBoss是一个运行EJB的J2EE应用服务器。它是开放源代码的项目,遵循最新的J2EE规范。从JBoss项目开始至今,它已经从一个EJB 容器发展成为一个基于的J2EE的一个web 操作系统(operating system for web),它体现了J2EE规范中最新的技术,并且它还在the JavaWorld Editors' Choice 2002评选中获得“最佳Java应用服务器”大奖。无论是学习还是应用,JBoss为我们提供了一个非常优秀的平台。有关JBoss的详细信息请参阅其 主页http://www.jboss.org

  刚开始使用JBoss进行EJB开发时,由于可供参考的资源不是很多,所以有一个比较 困难的起步阶段。JBoss的配置和使用没有提供图形向导界面,所以开发部署EJB相对比较复杂。

  Enterprise JavaBean (EJB)规范定义了开发和部署基于事务性、分布式对象应用程序的服务器端软件组件的体系结构。企业组织可以构建它们自己的组件,或从第三方供应商购买组 件。这些服务器端组件称作 Enterprise Bean,它们是 Enterprise JavaBean 容器中驻留的分布式对象,为分布在网络中的客户机提供远程服务。

  JBoss 是全世界开发者共同努力的成果,一个基于J2EE的开放源代码的应用服务器。 因为JBoss代码遵循LGPL许可,你可以在任何商业应用中免费使用它,而不用支付费用。

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

  JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3.0的规范。但JBoss核心服务不包括支持serverl/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

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

分享到:
评论

相关推荐

    介绍了什么是jboss

    一、什么是 JBoss JBoss 是一个基于 J2EE 的应用服务器,运行 EJB 容器,遵循最新的 J2EE 规范。它是一个开放源代码的项目,具有免费、简单安装、热部署、集群支持等特点。 二、JBoss 的组成部分 JBoss 由多个...

    jboss rules 用户指南(中文)

    JBoss Rules是一个商业规则引擎,那我们就要先知道到底什么是Rules,即规则。JBoss Rules中,规则是如何被表示的Rules 一条规则是对商业知识的编码。... 什么是JBoss Rules? JBoss Rules的含义是什么?  JBoss Rules...

    jboss-service.xml could not be opened, does it exist 配置jboss遇到的问题

    #### 什么是jboss-service.xml? `jboss-service.xml` 是JBOSS服务器中的一个关键配置文件,它主要用于定义服务器的各种服务。这些服务包括但不限于数据库连接池、邮件服务、日志配置等。因此,这个文件对于JBOSS...

    JBoss Seam入门介绍

    ### 一、什么是JBoss Seam? JBoss Seam被定位为“企业Java应用程序框架”,它是专为企业级Java Web应用程序设计的框架,能够将Java EE和JSF(JavaServer Faces)紧密结合,提供一个统一且强大的开发平台。Seam被视...

    Red Hat JBoss

    ##### 2.1 什么是JBoss Enterprise SOA Platform? JBoss Enterprise SOA Platform 5 是一个全面的SOA解决方案,它包含了一系列的服务组件和技术栈,如企业服务总线(Enterprise Service Bus, ESB)、业务流程管理...

    jboss portal server development

    什么是 JBoss Portal JBoss Portal 是一款基于 Java 的开源企业门户平台,它提供了一套完整的工具和服务,用于创建高度个性化的企业门户。本书介绍了 JBoss Portal 的核心特性,包括但不限于内容管理、用户管理、...

    JBoss Cache

    ##### 1.1 什么是 JBoss Cache? - **JBoss Cache**:是一种分布式缓存技术,能够实现跨多个节点的数据共享,提供了一种高效且一致的方式来存储和检索数据。 - **POJO Cache**:即 Plain Old Java Object Cache,它...

    Jboss项目部署文档

    Jboss 项目部署文档 Jboss 项目部署文档是指在 Jboss 服务器上部署项目的详细步骤,包括环境变量的配置、项目打包、配置文件的修改、JNDI 的配置等。以下是 Jboss 项目部署文档的详细知识点: 一、环境变量配置 ...

    JBOSS,JBoss安装部署

    【JBOSS,JBoss安装部署】 JBoss是Red Hat公司开发的一款开源的应用服务器,它基于Java EE(Enterprise Edition)规范,提供了全面的企业级应用程序部署和管理解决方案。本篇文章将详细讲解JBoss的安装和部署过程,...

    jboss7.1 linux版本

    JBoss AS 7.1.0.Final是在Linux环境下运行的一款开源Java应用服务器,由Red Hat公司维护。这个版本发布于2012年,它引入了许多改进和新特性,旨在提供更快的启动速度、更高的性能以及更好的模块化。在这个环境中,...

    jboss 下载(httpwww.jboss.org)

    【JBoss 应用服务器详解】 JBoss 是一个开源的、基于 J2EE(Java 2 Platform, Enterprise Edition)的应用服务器,由全球开发者社区共同维护和开发。它最初以 LGPL 许可协议发布,允许商业应用免费使用。2006年,...

    jboss-eap-7.2.6-patch

    【JBoss EAP 7.2.6 补丁包详解】 JBoss Enterprise Application Platform (EAP) 是 Red Hat 提供的一款开源中间件,用于构建、部署和管理企业级 Java 应用程序。JBoss EAP 7.2.6 版本是一个重要的更新,包含了多个...

    在IntelliJ idea8中部署Jboss服务器图解

    "在IntelliJ IDEA 8中部署Jboss服务器图解" IntelliJ IDEA 8是 JetBrains 公司开发的一款功能强大且灵活的集成开发环境(IDE),它支持多种programming语言,包括Java、Python、Ruby、PHP等。Jboss则是一款流行的...

    在jboss上部署web应用

    【JBoss 概述】 JBoss 是一个开源的、基于Java的、全面实现了J2EE规范的应用服务器。它提供了企业级的功能,如EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JTS/JTA(Java Transaction Service / ...

    MyEclipse中配置JBoss

    【标题】:“MyEclipse中配置JBoss” 在IT行业中,MyEclipse是一款深受开发者喜爱的集成开发环境(IDE),尤其对于Java EE项目开发来说,它提供了强大的支持。而JBoss则是一个开源的应用服务器,广泛用于部署和管理...

    JavaEE源代码 jboss-common

    JavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-...

    jboss配置入门,jboss的初级配置

    jboss配置入门 jboss系统是一种基于Java的应用服务器,具有高性能、可扩展、安全性强等特点。在本文中,我们将对jboss的基本配置进行介绍,包括其文件夹结构、配置文件、负载均衡配置等。 jboss文件夹结构 jboss的...

    jboss-4.0.5.GA.zip

    JBoss是著名的开源Java应用服务器,它基于Java EE(Enterprise Edition)规范,为开发者提供了全面的中间件服务。4.0.5.GA版本是JBoss的一个稳定版本,发布于2006年,适用于那些需要可靠且成熟的Java应用程序部署的...

Global site tag (gtag.js) - Google Analytics