EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
发布网友
发布时间:2022-04-22 15:00
我来回答
共1个回答
热心网友
时间:2023-10-19 06:17
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接口。