会话Bean


     会话Bean是可以被客户端直接调用的EJB组件。客户端可以是Web应用程序组件(JSP、JSF、Servlet),也可以是命令行或Swing GUI桌面应用程序。那么什么事会话Bean、如何开发一个无状态会话bean、开发一个有状态会话bean、EJB调用机制和会话bean生命周期是什么,等。

1、会话Bean

     会话Bean是一个用于处理Java EE程序业务逻辑的EJB组件,主要用于编写业务逻辑,维持客户端的会话状态,以及模拟一个或多个业务操作的后台处理或用户任务。简而言之:会话就是在有线的时间周期内,客户端和服务器之间的连接。

     会话Bean又可以分为无状态会话Bean和有状态会话Bean。以满足不同的应用需要。

     在开发上,所有的会话Bean都分为两部分,一个是接口,一个是Bean实例类。其中接口可以分为本地接口和远程接口。客户端不能直接访问Bean实现类,而是通过业务接口使用会话Bean。

     如下简图:

                               简图1-1

       会话Bean具有以下一些特征:

  • 并发和线程安全
  • 远程处理和Web服务
  • 事务和安全管理
  • 计时器服务和拦截器

        与所有的EJB3.0 bean一样,会话bean也是遵守某些规则的POJO。下面是应用于所有会话bean的设计规则:

  • 会话bean必须至少一个业务接口(本地的、远程的,或同时提供这两个)
  • 会话bean实现类必须是具体的。
  • bean实现类中必须具有无参的构造方法。
  • 会话bean类可以是另一个会话bean或其他POJO的子类。
  • 可以在bean类或者超类中定义业务方法和生命周期回调方法。
  • 业务方法名称不能以ejb开头。

        在EJB3.0中,不要求同时实现远程和本地接口,但实现同时实现两者是比较好的做法。其优点如下:

  • 远程接口(remote interface)定义了会话bean的业务方法,这些方法可以被来自EJB容器之外的应用访问。
  • 本地接口(local interface)同样定义了会话bean的业务方法,这些方法可以被同处于EJB容器内的其他应用使用。因为local接口允许bean之间直接通过内存交互,没有分布式对象协议的开销,从而改善了性能。

2、无状态会话bean与有状态会话bean的不同

        维护会话状态的bean会存储前一次信息交换的数据,它就是有状态会话bean。无状态会话bean不需要维护任何状态和数据信息。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章