EJB的基本分类

EJB的基本分类

1.企业bean

   (1)session bean(stateless和stateful session bean)

           会话bean:从客户端获得EJB对象开始,然后调用EJB方法,直到客户端释放EJB对象为止。客户端通过JNDI查找EJB对象。若每次会话查找同一对象时,则返回不同对象。

      对象的状态由它的实例变量的值决定的。

     有状态session bean:可以区分不同的客户端,并保持他们的信息。主要是根据jsessionid来辨认不同的客户端并维护他们的状态。

   stateful session bean 远程调用的时候,客户端得到的是一个客户端代理对象,不同的客户端获得不同的实例(同时分配一个令牌)。通过令牌来区分不同的客户端。每次查找服务器新创建一个给客户端。

   stateless session bean 不对其状态做管理。不管是哪个客户端,得到的对象可能都是同一个实例(单例方式管理)。不能区分是哪个客户端。性能比stateful好。每次查找,服务器都返回同一个实例。

   (2)message driven bean 基于JMS

2.实体bean

  entity bean。EJB2的时候分为BMP(bean管理持久化实体bean---自己管理CRUD操作)和CMP(容器管理持久化实体bean--由容器管理CRUD操作)。

在EJB3中都是CMP。

你可能感兴趣的:(EJB的基本分类)