【IT168 技术文档】
1、EnterpriseBean类
Bean的第一部分就是本身的实现,这里包含你的商业逻辑核心。包含你的组件的实现细节,对于会话Bean包含你的商业逻辑,对于实体Bean来说包含与数据之间的逻辑,对于消息Bean来说就是企业Bean包含消息的逻辑,以及调用会话Bean主要用于股票的交易(所有的Bean都必须实现接口EnterpriseBean接口)。会话Bean实现SessionBean接口,实体Bean实现EntityBean接口,消息Bean实现MessageDrivenBean接口。
2、EJB对象
企业Bean不是可以直接调用远程的对象,使用对象是从未直接对实际的Bean实例进行方法调用。实际上调用被EJB容器所截获然后传给Bean实例,这就是请求拦截(隐式中间件)
远程接口:
由Bean提供商编写一个特殊的接口,这个接口复制对应的Bean类公开的所有商务逻辑方法,这个接口称为Remote接口。
Remote接口(EJBObject)必须实现的方法(这些方法都是由EJB容器提供商实现):
Remove()
GetEjbHome()
GetPrimaryKey()
GetHandle()
IsIdentical()
Home接口(EJBHome)必须实现的方法:
Remove()
GetHomeHandle()
GetEJBMetaData()
本地接口:
由于通过接口生成Bean速度慢所以提供了一组本地接口。
Remont接口(EJBLocalObject):
GetEJBLocalHome()
GetPrimaryKey()
Remove()
IsIdential()
Home接口(EJBLocalHome):
Remove()
Bean类(由我们来实现):
Bean类由我们来实现是否是采用sessionBean、entityBean还是messageDrivenBean
会话Bean(SessionBean)
会话Bean包含两个类型一个是有状态sessionBean一个是无状态sessionBean
有状态sessionBean是保存客户的状态,如果一个状态会话Bean的状态在方法调用期间改变,那么接下来调用的过程中,与Bean对应的客户的状态也随之改变(回掉方法:ejbPassivate和ejbActivate方法)
ejbPassivate方法主要是通知Bean释放占用的资源调用这个方法使Bean在合适的时候释放这些资源或者是处理这些资源,一但回调方法结束Bean就处于被纯化的状态。
ejbActivate方法主要是把纯化的激活,恢复它在passviate方法时释放的资源。
无状态sessionBean只能保存单一的对话内容,他们不与客户程序进行多方法对话每一次调用都会清除前一次的方法调用信息。
1