EJB的几种类型

 

会话(SessionBean ,实体(EntityBean 消息驱动的(Message DrivenBean

实体Bean可分为Bean管理的持续性(BMP)和容器管理的持续性(CMP)两种EntityBean被用来代表应用系统中用到的数据。

SessionBeanJ2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。Session Bean 还可以再细分为 Stateful Session Bean Stateless Session Bean Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体Stateless Session Bean却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 不会找寻特定的 Stateless Session Bean 的实体来执行这个 method。很可能数个使用者在执行某个 Stateless Session Bean methods 时,会是同一个 Bean Instance 在执行。从内存方面来看, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。

对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。

1SessionBean

无状态Bean 生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机。

有状态Bean:当客户机第一次调用一个Stateful Session Bean 时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 的方法时容器会把调用分派到与此客户机相关联的Bean实例。

2EntityBeanEntity Beans能存活相对较长的时间,并且状态是持续的。只要数据库中的数据存在,Entity beans就一直存活。不是按照应用程序或者服务进程来说的。即使EJB容器崩溃了,Entity beans也是存活的。Entity Beans生命周期能够被容器或者 Beans自己管理。

EJB通过以下技术管理实务:Java Transaction ServiceJTS)、Java Transaction APIJTA)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值