今天爱分享给大家带来EJB 包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?【面试题详解】,希望能够帮助到大家。
SessionBean:Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请
求要建立一个 Bean 的实例时,EJB 容器不一定要创建一个新的 Bean 的实例供客户机
调用,而是随便找一个现有的实例提供给客户机。当客户机第一次调用一个 Stateful
Session Bean 时,容器必须立即在服务器中创建一个新的 Bean 实例,并关联到客户
机上,以后此客户机调用 Stateful Session Bean 的方法时容器会把调用分派到与此
客户机相关联的 Bean 实例。
EntityBean:Entity Beans 能存活相对较长的时间,并且状态是持续的。只要数据库中
的数据存在,Entity beans 就一直存活。而不是按照应用程序或者服务进程来说的。
即使 EJB 容器崩溃了,Entity beans 也是存活的。Entity Beans 生命周期能够被容
器或者 Beans 自己管理。
EJB 通过以下技术管理实务:对象管理组织(OMG)的对象实务服务(OTS),Sun
Microsystems 的 Transaction Service(JTS)、Java Transaction API(JTA),开发
组(X/Open)的 XA 接口。