血染小镇游戏解说:EJB三种企业bean

来源:百度文库 编辑:九乡新闻网 时间:2024/04/30 14:07:30
1、会话Bean      用于实现业务逻辑,分为有状态Bean和无状态Bean,有状态Bean可以维护会话状态,无状态Bean不维护会话状态。要维护会话状态,意味着EJB容器要为每个用户创建一个Bean实例,并通过该实例保存着与用户的会话状态。不维护会话状态,意味着一个bean实例不需要保存与某个用户的会话状态,这时一个bean实例可以为多个用户服务。每当客户端发出EJB调用请求,容器就会选择一个Session Bean来为客户端服务。会话Bean可以直接访问数据库,但更多时候它是通过实体Bean实现数据访问。      开发一个Session Bean,需要定义接口和Bean Class。接口分为远程(Remote)和本地(Local)接口,EJB3.0中不需两者都实现,但两者都实现比较好。      远程接口:定义了Session Bean的业务方法,这些方法可以被EJB容器之外的应用访问到。      本地接口:定义了Session Bean的业务方法,这些方法可以被同处于EJB容器内的其他应用使用。因为Local接口允许bean之间直接通过内存交互,没有分布式对象协议的开销,从而改善了性能。      Bean类(bean class):包含了业务逻辑,必须具备一个远程或本地接口。在bean里我们应该实现接口的业务逻辑,尽管不是必须的,但我们没有理由不这么做。2、实体Bean      代表真实物体的数据,在EJB3.0中,它仅作为普通Java对象来使用,它负责跟数据库表进行对象与关系映射(O/R Mapping)。如果实体Bean对象需要返回客户端,必须实现Serializable接口。3、消息驱动Bean(MDB)      是设计用来专门处理基于消息请求的组件。它能够收发异步JMS消息,并能够轻易地与其它EJB交互。它特别适合用于当一个业务执行的时间很长,而执行结果无需实时向用户反馈的这样一个场合。