[原创]EJB学习
EJB四个关键字:
Local: 该方法可以被同处于EJB容器内其他应用访问到,EJB容器之外不能访问。 Local 接口允许bean之间直接通过内存交互,没有分布式对象协议的开销,因而在同一个容器内时,性能比Remote更好。
Remote: 该方法可以被来自EJB容器之外的应用访问。
Stateless: 无会话状态。EJB会为Stateful Bean在对象池中创建一些实例。Stateful Bean只需要少量实例就可以为成百上千的用户服务,大大提高了性能。
Stateful: 有状态bean,保持了用户信息,在bean实例的生命周期内只服务于一个用户,bean class 成员变量可以在不同的方法调用间维护特定于某个用户的数据。典型例子,电子商务网站的购物车。
EJB annotation 和 XML 的对应关系
http://glassfish.java.net/javaee5/ejb/EJB_FAQ.html#EJB_ejb-ref_ejb_local_ref
@EJB ejb-ref ejb-local-ref
name <---> ejb-ref-name ejb-ref-name
beanInterface <---> <remote> <local>
beanName <---> ejb-link ejb-link
lookup (3.1) <---> lookup-name lookup-name
mappedName (3.0) <---> mapped-name not available
Local: 该方法可以被同处于EJB容器内其他应用访问到,EJB容器之外不能访问。 Local 接口允许bean之间直接通过内存交互,没有分布式对象协议的开销,因而在同一个容器内时,性能比Remote更好。
Remote: 该方法可以被来自EJB容器之外的应用访问。
Stateless: 无会话状态。EJB会为Stateful Bean在对象池中创建一些实例。Stateful Bean只需要少量实例就可以为成百上千的用户服务,大大提高了性能。
Stateful: 有状态bean,保持了用户信息,在bean实例的生命周期内只服务于一个用户,bean class 成员变量可以在不同的方法调用间维护特定于某个用户的数据。典型例子,电子商务网站的购物车。
EJB annotation 和 XML 的对应关系
http://glassfish.java.net/javaee5/ejb/EJB_FAQ.html#EJB_ejb-ref_ejb_local_ref
@EJB ejb-ref ejb-local-ref
name <---> ejb-ref-name ejb-ref-name
beanInterface <---> <remote> <local>
beanName <---> ejb-link ejb-link
lookup (3.1) <---> lookup-name lookup-name
mappedName (3.0) <---> mapped-name not available