EJB

来源:互联网 发布:rhino mac下载 编辑:程序博客网 时间:2024/06/06 06:56

、EJB 是基于哪些技术实现的?并说出Session Bean和Entity Bean的区别,Stateful Bean和Stateless Bean的区别。

        EJB 包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。Session Bean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。Entity Bean被用来代表应用系统中用到的数据。

        对于客户端,Session Bean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。

        对于客户端,Entity Bean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。

        Session Bean还可以再细分为Stateful Session Bean与Stateless Session Bean,这两种的Session Bean都可以将系统逻辑放在method之中执行,不同的是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与Stateless Session Bean比较,Stateful Session Bean会消耗J2EE Server较多的内存,然而Stateful Session Bean的优势却在于它可以维持使用者的状态。