澳门新萄京J2EE基础之EJBJ2EE基础之EJB,

J2EE基础之EJB

J2EE基础之EJB,

J2EE基础之EJB

1、什么是EJB?

      EJB(Enterprise Java
Beans),是JavaEE中的商业利用组件技术,是JavaEE三异常组件(Servlet,JSP,EJB)之一。EJB提供了受客户端应用远程分布式对象的框架,极大地简化了具有得天独厚的可扩充性的合作社级应用的开发。EJB组件结构是依据组件的分布式计算结构,是分布式应用系统中之组件。

   
EJB是Java服务器端服务框架的标准,为服务器端构件系统定义了一个术标准。该标准能提供一个正式的、分布式的、基于面向对象的系布局。它吗构件开发者和使用者屏蔽掉复杂的系统级底层功能实现,使开发者专注于事情逻辑的贯彻,其中有犬牙交错的底服务由EJB容器负责。EJB可以因使用之增进要扩大,EJB服务器提供了负载平衡功能,以及资源的走访权限控制。

2、EJB容器及零件间通信

     
EJB容器为EJB组件提供了运转环境,EJB容器管理EJB的法子同Web容器管理Servlet的办法接近,EJB必须在EJB容器里运行。EJB容器主要管理了EJB的持久性、生命周期管理、安全性管理、事务管理、远程连接、并作处理、集群和负载均衡等问题。容器管理EJB组件的实例,使EJB组件实现最酷之力量以及内存利用率。容器能够激活和钝化EJB组件、管理实例池等。容器负责管理分布式事务处理的错综复杂问题,为远程连接管理低层的通信问题,而且对EJB组件的开发者和客户还躲藏了通信问题。因此,EJB组件开发人员可以管精力集中让封装商务逻辑,容器负责处理外任何事情。EJB通过ejbContent、JNDJ、回调函数等体制和容器交互。

    
JBoss是一个管理EJB的器皿与服务器,支持EJB1.1、EJB2.0暨EJB3的专业,其貌似与Tomcat或Jetty绑定以。

     下面请圈图一律(EJB容器的劳作规律图):

希冀一律:EJB容器工作规律

     
EJB组件是一律种植分布式对象,当它吃实例化后,可以同其他地方空间受到的应用程序进行通信。EJB实例被封闭装在框架(skeleton)对象吃,它经过存根(stub)对象与客户端交流。存根不包括商务逻辑,但贯彻了商业接口。每当存根商业接口及之买卖方法为调用时,存根就把网络信息发送给框架,告诉它调用了怎么措施。框架调用EJB实例的照应措施,并把EJB实例返回的结果发送给存根,由存根把这些结果再回来给相应的应用程序。通过存根和框架这点儿个中等对象,屏蔽了分布式对象之间的复杂性通信过程。框架由容器实现,而存根由开发工具自动生成,二者都不需编制代码。下面要看图二(EJB组件通信原理图):

祈求二:EJB组件间通信原理

 

3、EJB分类

    
EJB组件可以分为会话Bean和信使Bean两种。会话Bean封装了商务逻辑,客户端好经过当地、远程、Web服务之点子调用会话Bean的主意来聘安排在服务器上之应用程序,从而调用其他Bean的计,会话Bean不有持久性,即其的多寡未保险存在数据库里。其中会话Bean又包括发生状态会话Bean、无状态会话Bean和单个会话Bean三栽。消息让Bean通常作为特定项目消息的监听器,使JavaEE可以拍卖异步消息,而客户端不会见通过接口访问消息令Bean。

   
下面用逐条具体介绍来状态会话Bean、无状态会话Bean、单件会话Bean和信使得会话Bean。

 

4、无论状态会话Bean

    
无状态会话Bean只为客户端提供商务逻辑,不也客户端保留会话状态。在客户端调用无状态会话Bean的点子时,对应会话Bean的特性会讲述是调用状态,但仅只在拖欠措施调用内保障此状态。当方法调用了,状态就于破。

    
无状态会话Bean的生命周期由容器控制。当EJB容器收到客户端对任状态会话Bean的乞求时,如果EJB不在,则容器会创一个Bean的实例,再将待之资源流入组件,然后容器回调PostConstruct方法,组件创建了。此时,Bean从“不有”状态转换到“存在”状态。客户端调用完,容器回调PreDestroy方法,Bean将被灭绝,此时,Bean从“存在”状态转换成为“不存”状态。下面请圈图三(无状态会话Bean的生命周期):

 贪图三:无状态会话Bean的生命周期

 

5、有状态会话Bean

    
有状态会话Bean为用户保留了一致浅对话状态,它不克像无状态会话Bean一样让坐组件池里让不同用户共享。对于来状态会话Bean来说,只要出客户端发送请求,容器就创造一个实例与该客户端对应,一个客户端对应一个实例。在生存期内,有状态会话Bean保持了用户之音,一旦会说话了,有状态会话Bean的生命周期也告终结。

    
有状态会话Bean有三种活动状态:不存、活动以及钝化。当起状态会话Bean处于活动状态一段时间后,如果仍然没吸收外部客户端的求,为了节约系统资源,容器会管有状态会话Bean中之状态信息序列化到临时存储空间,并将有状态会话Bean从内存中移除,这个过程叫“钝化”。在钝化之前,容器回调PrePassivate方法。当容器收到针对已经让钝化的起状态会话Bean的请求,会重新初始化有状态会话Bean的实例,并拿状态信息于即空间取出,使的重回来活动状态,这个进程叫“激活”。在激活后,容器回调ProActivate方法。当有状态会话Bean钝化一段时间后,容器将彻底清除该实例,回调PreDestroy方法。下面要看图四(有状态会话Bean的生命周期):

  

希冀四:有状态会话Bean的生命周期

 

6、单间会话Bean

    
单件会话Bean对每个应用程序实例化一软,并且在应用程序的生命周期中直接是。单件会话Bean为一定的场面要计划,客户端可坐协同享且并发的模式访问是唯一的EJB实例。

    
单件会话Bean与任状态会话Bean很相像,区别在于单件会话Bean在运中只是发生一个实例,而不论状态会话Bean可以生出许多实例,每一个实例都吃放在组件池里,使用户共享。

    
单件会话Bean像无状态会话Bean一样,从不钝化。其生命周期只含两种状体:“不存在”和“存在”。下面请看图五(单件会话Bean的生命周期):

 

贪图五:单件会话Bean的生命周期   

 

7、信息让Bean

     
音让Bean是计划性用来特别处理依据消息请求的零件。消息令Bean集成了Java音服务(Java
Message
Service,JMS)和合作社Bean的效用。不可知由客户端直接获得其引述而调用方法,只能由系统信息来启动。

     
EJB容器通常创建一个信息使得Bean的组件池。与任状态会话Bean类似,消息令Bean从不让钝化,其生命周期只包含两单等级:不在与在。

     
音让Bean类必须贯彻MessageListener接口。当容器检测及Bean监听的排里的相同长条信息时,就调用onMessage()方法,将信息作为参数传入。

 

 

http://www.bkjia.com/Javabc/1144325.htmlwww.bkjia.comtruehttp://www.bkjia.com/Javabc/1144325.htmlTechArticleJ2EE基础之EJB, J2EE 基础的 EJB 1、 什么是 EJB ?
EJB ( Enterprise Java Beans ),是 JavaEE 中的商使用组件技术,是
JavaEE 三怪组件( Servlet ,…

1、什么是EJB?

      EJB(Enterprise Java Beans),是JavaEE中之商利用组件技术,是JavaEE三格外组件(Servlet,JSP,EJB)之一。EJB提供了于客户端采用远程分布式对象的框架,极大地简化了具有优良的可扩充性的铺级以之支出。EJB组件结构是依据组件的分布式计算结构,是分布式应用系统遭到的机件。

    EJB是Java服务器端服务框架的正统,为服务器端构件系统定义了一个术标准。该规范能提供一个正式的、分布式的、基于面向对象的网布局。它吗构件开发者和使用者屏蔽掉复杂的系统级底层功能实现,使开发者专注于业务逻辑的实现,其中一些苛的最底层服务由EJB容器负责。EJB可以依据使用之增进要恢宏,EJB服务器提供了负载平衡功能,以及资源的拜会权限控制。

2、EJB容器及零件间通信

      EJB容器为EJB组件提供了运转环境,EJB容器管理EJB的章程跟Web容器管理Servlet的方接近,EJB必须以EJB容器里运行。EJB容器主要管理了EJB的持久性、生命周期管理、安全性管理、事务管理、远程连接、并作处理、集群和负载均衡等问题。容器管理EJB组件的实例,使EJB组件实现最酷之作用以及内存利用率。容器能够激活和钝化EJB组件、管理实例池等。容器负责管理分布式事务处理的扑朔迷离问题,为远程连接管理低层的通信问题,而且对EJB组件的开发者和客户还掩藏了通信问题。因此,EJB组件开发人员可以把精力集中吃封装商务逻辑,容器负责处理外所有事务。EJB通过ejbContent、JNDJ、回调函数等体制和容器交互。

     JBoss是一个管理EJB的器皿与服务器,支持EJB1.1、EJB2.0暨EJB3的规范,其貌似与Tomcat或Jetty绑定以。

     下面请看图一律(EJB容器的做事原理图):

澳门新萄京 1

祈求一律:EJB容器工作原理

      EJB组件是一律栽分布式对象,当其为实例化后,可以跟其它地点空间中之应用程序进行通信。EJB实例被封闭装在框架(skeleton)对象中,它通过存根(stub)对象及客户端交流。存根不包括商务逻辑,但实现了生意接口。每当存根商业接口及之买卖方法吃调用时,存根就拿网络信息发送给框架,告诉它调用了怎么方法。框架调用EJB实例的附和措施,并把EJB实例返回的结果发送给存根,由存根把这些结果还返给相应的应用程序。通过存根和框架这片个中等对象,屏蔽了分布式对象中的复杂性通信过程。框架由容器实现,而存根由开发工具自动生成,二者都不需编制代码。下面要圈图二(EJB组件通信原理图):

澳门新萄京 2

图二:EJB组件间通信原理

 

3、EJB分类

     EJB组件可以分为会话Bean和消息使得Bean两种。会话Bean封装了商务逻辑,客户端可透过地面、远程、Web服务的主意调用会话Bean的法门来聘安排在服务器上之应用程序,从而调用其他Bean的法,会话Bean不持有持久性,即其的数目不保证存在数据库里。其中会话Bean又包括发生状态会话Bean、无状态会话Bean和单个会话Bean三栽。消息令Bean通常作为特定项目消息的监听器,使JavaEE可以处理异步消息,而客户端不见面由此接口访问消息使得Bean。

    下面用各个具体介绍起状态会话Bean、无状态会话Bean、单件会话Bean和消息使会话Bean。

 

4、无论是状态会话Bean

     无状态会话Bean只为客户端提供商务逻辑,不也客户端保留会话状态。在客户端调用无状态会话Bean的主意时,对应会话Bean的性会讲述是调用状态,但特不过于该措施调用内保障是状态。当方法调用了,状态就深受破。

     无状态会话Bean的生命周期由容器控制。当EJB容器收到客户端对任状态会话Bean的恳求时,如果EJB不在,则容器会创造一个Bean的实例,再以需要的资源流入组件,然后容器回调PostConstruct方法,组件创建了。此时,Bean从“不存”状态转换到“存在”状态。客户端调用完,容器回调PreDestroy方法,Bean将为销毁,此时,Bean从“存在”状态转换成“不设有”状态。下面要圈图三(无状态会话Bean的生命周期):

 澳门新萄京 3

图三:无状态会话Bean的生命周期

 

5、发状态会话Bean

     有状态会话Bean为用户保留了同一赖对话状态,它不克如无状态会话Bean一样给放到组件池里让不同用户共享。对于来状态会话Bean来说,只要发生客户端发送请求,容器就创办一个实例与该客户端对应,一个客户端对应一个实例。在生存期内,有状态会话Bean保持了用户的消息,一旦会讲话了,有状态会话Bean的生命周期也告了。

     有状态会话Bean有三种活动状态:不存、活动与钝化。当有状态会话Bean处于活动状态一段时间后,如果仍没有接收外部客户端的要,为了省系统资源,容器会拿来状态会话Bean中的状态信息序列化到临时存储空间,并将来状态会话Bean从内存中移除,这个过程叫“钝化”。在钝化之前,容器回调PrePassivate方法。当容器收到针对曾于钝化的出状态会话Bean的乞求,会再初始化有状态会话Bean的实例,并拿状态信息于即空间取出,使之重回来活动状态,这个进程叫“激活”。在激活后,容器回调ProActivate方法。当起状态会话Bean钝化一段时间后,容器将彻底清除该实例,回调PreDestroy方法。下面请圈图四(有状态会话Bean的生命周期):

 澳门新萄京 4

 

希冀四:有状态会话Bean的生命周期

 

6、单间会话Bean

     单件会话Bean对每个应用程序实例化一糟,并且以应用程序的生命周期中直接有。单件会话Bean为一定的场景要设计,客户端可坐联合享且并发的模式访问是唯一的EJB实例。

     单件会话Bean与任状态会话Bean很相像,区别在于单件会话Bean在使用中仅仅发一个实例,而随便状态会话Bean可以生出过多实例,每一个实例都给放在组件池里,使用户共享。

     单件会话Bean像无状态会话Bean一样,从不钝化。其生命周期只包含两种状体:“不设有”和“存在”。下面要看图五(单件会话Bean的生命周期):

澳门新萄京 5

 

贪图五:单件会话Bean的生命周期   

 

7、消息使得Bean

      音使得Bean是计划性用来专门处理依据消息请求的组件。消息让Bean集成了Java消息服务(Java Message Service,JMS)和店铺Bean的效能。不可知由客户端直接获得其引述而调用方法,只能出于网信息来启动。

      EJB容器通常创建一个消息使Bean的组件池。与无状态会话Bean类似,消息令Bean从不给钝化,其生命周期只包含两单级次:不在与在。

      消息使得Bean类必须贯彻MessageListener接口。当容器检测到Bean监听的排里之平等漫长消息不时,就调用onMessage()方法,将信息作为参数传入。

 

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注