`

JBOSS 基础知识

阅读更多

有人问了JBoss是什么?JBoss是web服务器的一种,主要做EJB容器,和tomcat集成就可以jsp,servlet,ejb通吃了JBoss有两种版本,一种是独立的,一种是和tomcat集成的,当然都是免费的啦EJB(enterprise javabean),他不是javabean简单的升级,而是一些提供分布式访问的类包括实体bean,会话bean,消息驱动bean

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

刚开始使用JBoss进行EJB开发时,由于可供参考的资源不是很多,所以有一个比较困难的起步阶段。JBoss的配置和使用没有提供图形向导界面,所以开发部署EJB相对比较复杂。本文通过尽量具体的演示来对JBoss3.0下的EJB开发和部署的进行一个简单的介绍,从而使刚开始使用JBoss的用户可以很快地进入到真正的J2EE应用开发中。

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

JBoss是一个开源的符合J2EE规范的应用服务器,作为J2EE规范的补充,JBoss中引入了AOP框架,为普通Java类提供了J2EE服务,而无需遵循EJB规范。JBoss通过类载入时,使用Javassist对字节码操作实现动态AOP框架,Javassist是一个开源的编辑字节码的类库。

JBoss中参考,切入点与方面也由普通Java对象实现,并使用XML文件配置。JBoss的连接点模型与AspectJ略有不同,提供了一系列预定义的切入点,包括类匹配,方法调用,构造器调用,域访问,特定的调用与被调用关系。通过这些切入点的逻辑运算,可以实现更为复杂的切入点。方面为Java 类,参考是其中的一个方法,方面中不含切入点,方面主要为各种拦截器(Interceptor),拦截器即为只含一个参考的方面,单一连接点上可由多个拦截器形成拦截器链,拦截器执行额外的操作。对方法的拦截由Advisor类管理,在连接点依次调用拦截器,并最终调用被逻辑的方法。而关于切入点,参考已及方面的信息由AspectManager管理。此外,JBoss提供对元数据的支持,用于为类,方法,构造器以及域添加额外的属性,并可在运行期访问。

为实现拦截,JBoss需要修改类的字节码,大致过程如下。

XML配置文件中关于切入点,拦截器,元数据以及混合类的信息在应用程序部署时被读入、解析,并生成相应的对象,这些信息与实例化的对象由 AspectManager管理。在需要混入方面代码的类载入时,AspectManager将创建Advisor类,将方面相关信息传递给它,并对类的字节码进行修改,之后将修改过的字节码交给类载入器完成类的装载。字节码的修改主要是对被载入的类添加一系列方法用于代理那些匹配连接点的方法调用,构造器调用,域访问以及方法导入,转为对Advisor类相应方法的调用。类中各方法将重命名,保留原方法体,并添加一个与原方法同名的方法,在这个方法中调用那些代理方法,用来将调用代理给Advisor类,或调用重命名的原方法。对于域访问,分别添加两个方法,对应于读与写操作,将域访问代理至 Advisor类,在访问这个域的类中,则需将对域的访问转换为对上述方法的调用。对于构造器调用,则添加一个方法,将调用代理至Advisor类,并对构造对象的类的构造代码作相应转换。对于导入,被导入的类中将添加一个混合类实现的引用,并添加混合类接口中的方法,将对混合类方法的调用代理至 Advisor类,并最终调用混合类的实现。相关类载入后,初始化Advisor类,填入拦截器链,以完成整个处理过程。

一、JBoss简介

JBoss是什么?近年来,在J2EE应用服务器领域,JBoss是发展最为迅速的应用服务器。JBoss是免费的,开放源代码J2EE的实现,它通过LGPL许可证进行发布,这使得JBoss广为流行。Boss是一个运行EJB的J2EE应用服务器,例如:数据库访问JDBC、交易(JTA/JTS)、消息机制 (JTS)、命名机制(JNDI)和管理支持(JMX)。它是开放源代码的项目,遵循最新的J2EE规范。目前的JBoss发布版2.2.4实现了EJB 1.1和部分EJB 2.0的标准、JMS 1.0.1、Servlet 2.2、JSP 1.1、JMX 1.0、JNDI 1.0、JDBC 1.2和2.0扩充(支持连接池 (Connection Polling))、JavaMail/JAF、JTA 1.0和JAAS1.0标准,JBoss是100%纯Java实现能运行于任何平台。

从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于的J2EE的一个web 操作系统(operating system for web),它体现了J2EE规范中最新的技术,并且它还在the JavaWorld Editors' Choice 2002评选中获得“最佳Java应用服务器”大奖。无论是学习还是应用,JBoss为我们提供了一个非常优秀的平台。

另外,JBoss应用服务器还具有许多优秀的特质:

它将具有革命性的JMX微内核服务作为其总线结构;
它本身就是面向服务的架构(Service-Oriented Architecture,SOA);
它还具有统一的类装载器,从而能够实现应用的热部署和热卸载能力。
因此,它是高度模块化的和松耦合的。JBoss用户的积极反馈告诉我们,JBoss应用服务器是健壮的、高质量的,而且还具有良好的性能。JBoss简介就是这些

二、JBoss的发展

为满足企业级市场日益增长的需求,JBoss公司从2003年开始就推出了24*7、专业级产品支持服务。同时,为拓展JBoss的企业级市场, JBoss公司还签订了许多渠道合作伙伴。在2004年6月,JBoss公司宣布,JBoss应用服务器通过了Sun公司的J2EE认证。这是JBoss应用服务器发展史上至今为止最重要的里程碑。与此同时,JBoss一直在紧跟最新的J2EE规范,而且在某些技术领域引领J2EE规范的开发。因此,无论在商业领域,还是在开源社区, JBoss成为了第一个通过J2EE 1.4认证的主流应用服务器。现在,JBoss应用服务器已经真正发展成具有企业强度(即,支持关键级任务的应用)的应用服务器。

近年来,Hibernate已经成为了事实上的持久化引擎。JBoss公司致力于将自身发展成为开源项目的社区,最新版的JBoss应用服务器已经将 Hibernate集成为JMXMBean服务。这使得用户能够在应用服务器环境中直接使用Hibernate,而不管它是否处于J2EE上下文中。在最新版的JBoss应用服务器中,用户能够直接通过JMXMBean服务访问到JBossCache提供的服务。下一代的JBoss应用服务器(暂定名为,JBoss5.0)将提供大量的新功能。除了支持最新的EJB 3.0规范外,新版的JBoss AOP将同它正式发布。同时,JBoss开发团队还计划开发新的微内核层,即独立于JMX,使得它能够独立使用。


三、JBoss的服务器架构概述

JBoss的构架和其他J2EE应用服务器的构架有着巨大的不同。JBoss的模块架构是建立在JMX底层上的,下图展现了JBoss主要组件和JMX的联系。
JMX - 层次
JMX是一个可复用框架,它为远程(Remote)和本地(Local)管理工具扩展了应用。它的架构是层式架构。他们是实现层(instrumentation layer)、代理层(agent layer)和发布层(distribution layer)。其中,发布层还在等待未来的标准化。简要的表述是,用户使用管理Bean,MBean来提供获得相应资源的实现方法。实现层实现相关的特性资源并将它发布于JMX相关应用中,它的代理层控制和发布相应的注册在MBeanServer代理上的管理资源。 JBoss主要模块
主要的JBoss模块是在MeanServer上的可管理MBean。

1.JBoss EJB容器是JBoss服务器的核心实现。它有两个特性,第一是在运行期产生EJB 对象的Stub和Skeleton类,第二是支持热部署。

2.JBossNS是JBoss命名服务用来定位对象和资源。它实现了JNDI J2EE规范.

3.JBossTX 是由JTA/JTS支持的交易管理控制.

4.部署服务支持EJB(jar)、Web应用文档(war)和企业级应用文档(ears)的部署。它会时刻关心J2EE应用的URL情况,一旦它们被改变或出现的时候将自动部署。

5.JBossMQ使Java 消息规范(JMS)的实现。

6.JBossSX支持基于JAAS的或不支持JAAS机制的安全实现。

7.JBossCX实现了部分JCA的功能。JCA制订了J2EE应用组件如何访问基于连接的资源。

8.Web服务器支持Web容器和Servlet引擎。JBoss 2.4.x版本支持Tomcat 4.0.1,Tomcat 3.23和Jetty 3.x服务.


四、JBoss架构设计中的两个重要的特性

第一是使用JMX作为一个软件总线垂直的贯穿其所有的服务,通过将新的服务组件遵循JMX规范挂接上"总线",使得系统扩展现有的服务变得容易。可插入式框架被广泛的运用于服务的实现。开发者可以选择他们需要的服务并编写他们所需要的相应实现,通过定义在部署描述文件中,让JBoss服务器知道。

第二是容器被设计成为动态代理机制,这样使容器的实现变得简单和使开发者避免费劲的将jar文件进行预编译以获得stub和skeleton代码。但是这样做潜在的问题是性能和可测性,因为我们知道java反射机制会引起性能的损失。JBoss中存在着相应的优化方案并且在将来的研究中我们会论述该优化方法在什么时候工作并且是如何工作的。

分享到:
评论

相关推荐

    Jboss基础.pdf

    在本篇文章中,我们将深入探讨JBoss的基础知识,包括其核心概念、安装配置、管理工具以及常见问题的解决方法。 1. **JBoss核心概念** - **应用服务器**:JBoss作为应用服务器,为Java应用程序提供了运行环境,支持...

    jboss集群服务

    JBoss基础知识与特点** - JBoss是J2EE服务器,与Weblogic和Websphere等商业产品竞争,以其开源、免费和高效性能著称。 - 2004年,JBoss通过Sun公司的J2EE 1.4认证,成为首个主流J2EE应用服务器。 - 2006年,Red ...

    Jboss基础教程

    Jboss 基础教程 Jboss 是一个免费的开源应用服务器,全面支持 J2EE,包括 JSP,Servlets,EJB。为了让 J2EE 开发人员快速熟悉 JBoss,本文将带您开始 JBoss 之旅,包括下载、安装、部署应用程序和配置数据源。 ...

    在jboss上部署web应用

    【JBoss 概述】 JBoss 是一个开源的、基于Java的、全面实现了J2EE规范的应用服务器。它提供了企业级的功能,如EJB(Enterprise ...通过理解和掌握这些基础知识,开发者能够更有效地利用JBoss来构建和管理Java应用。

    JBOSS安装手册大全

    首先,手册是关于JBOSS应用服务器的安装和升级指南,涵盖了从基础知识到实用操作的具体步骤。JBOSS是一个开源的、符合标准的、100%纯Java实现的J2EE应用服务器。它是由全球超过100名开发者组成的JBoss项目开发的,该...

    中间件jboss环境搭建01

    ### 中间件JBoss环境搭建知识点详解 #### 一、中间件简介与JBoss概述 在探讨JBoss环境搭建之前,我们首先需要了解中间件的基本概念及其重要性。中间件是一种位于操作系统之上、应用软件之下的软件层,主要用于解决...

    JBOSS开发人员指南

    本指南旨在为开发者提供全面、深入的JBoss开发知识,帮助他们更好地理解和运用这个强大的Java平台。 一、JBoss概述 1.1 JBoss历史与定位 JBoss起源于2000年,最初是一个基于Java的EJB(Enterprise JavaBeans)容器...

    jboss 中文开发文档

    ### JBoss 中文开发文档知识点总结 #### 一、引言 JBoss 是一款非常流行的开源Java应用服务器,被广泛应用于各种规模的企业级项目中。本文档旨在为开发者提供一个全面且深入的学习资源,帮助他们从零开始学习并掌握...

    JBoss4.0中文版.pdf

    【JBoss4.0中文版.pdf】是一本详细介绍JBoss应用服务器4.0版本的中文教程,涵盖了从基础到高级的各类主题,旨在帮助读者快速掌握JBoss的使用和管理。该书的主要内容可能包括以下几个方面: 1. **JBoss简介**:JBoss...

    JBoss7.1.1配置指南及管理员手册PDF版

    JBoss7.1.1配置指南及管理员手册是一份全面的指南,旨在帮助用户理解和配置JBoss应用服务器的各个方面的设置和管理。本文将重点介绍JBoss7.1.1...这些知识点是管理员在部署和维护JBoss应用服务器时不可或缺的宝贵信息。

    jbossesb开发手册

    ### jbossesb开发手册知识点概述 #### 一、引言 JBoss ESB(Enterprise Service Bus)是一款开源的企业服务总线解决方案,旨在为应用程序之间的通信提供一个灵活且可扩展的基础架构。本手册旨在帮助初学者理解JBoss...

    ext 和jboss配置

    目录的提供对于学习者来说非常有帮助,因为它能方便地定位到特定的知识点,节省查找时间。 另一方面,JBOSS是Red Hat公司的一个开源应用服务器,基于Java EE(Enterprise Edition)标准,支持EJB(Enterprise ...

    JBoss AS 7 Development

    本书不仅覆盖了JBoss AS 7的基础知识,还深入探讨了其在实际开发中的应用。通过学习本书,读者可以全面了解JBoss AS 7的各种特性和最佳实践,从而更好地利用这款强大的应用服务器来开发高质量的Java应用程序。此外,...

    windows jboss 集群2

    ### 一、JBoss集群基础知识 JBoss是Red Hat公司开发的一款开源Java EE应用服务器,其集群功能可提供高可用性和水平扩展。在Windows环境下,我们可以利用JGroups来实现节点间的通信,并通过HornetQ或ActiveMQ实现...

    JBoss文档.rar

    在JBoss文档中,我们可以深入学习以下几个关键知识点: 1. **Java Enterprise Edition (Java EE) 基础**:Java EE是企业级应用开发的标准框架,包含了一系列接口和实现,如Servlet、JSP、EJB等,用于构建可扩展且...

    Jboss5源代码-官方-第一部分

    本部分将深入探讨JBoss 5的源代码,了解其内部工作原理以及如何利用这些知识来优化和扩展应用程序。 JBoss 5源代码的分析可以从以下几个关键模块入手: 1. **核心服务**:JBoss的核心服务包括事务管理、安全管理、...

    JBoss服务设置开机自启(Linux)

    #### 知识点概述 在Linux环境中,确保JBoss服务能够随系统启动而自动启动对于提高系统的稳定性和可用性至关重要。本篇文章将详细介绍如何在CentOS 7环境下配置JBoss服务,使其能够在系统启动时自动运行。主要涉及...

    jboss as7 文档

    - 掌握Java基础知识。 ##### 5.1.1 示例 文档中的示例通常包括命令行操作、配置文件示例以及通过Web界面进行的操作步骤。 ##### 5.2 管理客户端 JBoss AS7提供了多种管理客户端选项,以便管理员可以根据自身...

    jboss 6.0 上开发 MDB

    在Java企业级应用中,Message Driven Bean (MDB) 是一种特殊类型的Enterprise JavaBean (EJB),用于处理异步消息...理解这些基础知识后,你就能在JBoss 6.0上成功开发和使用MDB,实现高效的异步通信和解耦的应用架构。

Global site tag (gtag.js) - Google Analytics