栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JEE7:EJB和CDI bean是否支持容器管理的事务?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JEE7:EJB和CDI bean是否支持容器管理的事务?

在Java EE 7之前,只有EJB是事务性的,并且

@Transactional
注释不存在。

从Java EE 7和JTA 1.2开始,您可以在带有

@Transactional
注释的CDI中使用事务拦截器。

要回答有关使用哪种最佳类型的bean的问题,答案默认为CDI。

CDI bean比EJB轻巧,并且支持许多功能(包括成为EJB),并且默认情况下处于激活状态(将

beans.xml
文件添加到应用程序时)。由于Java
EE 6
@Inject
优先于
@EJB
。即使您使用远程EJB(CDI中不存在的功能),最佳实践也建议您
@EJB
一次注入远程EJB和CDI生产者以将其公开为CDI
bean

public class Resources {    @EJB    @Produces    MyRemoteEJB ejb;}

建议对Java EE资源也是如此

public class Resources2 {    @PersistenceContext    @Produces    EntityManager em;}

这些生产者将在以后使用

public class MyBean {    @Inject    MyRemoteEJB bean;    @Inject    EntityManager em;}

EJB对于它们所包含的某些服务(如JMS或异步处理)仍然有意义,但是您将它们用作CDI bean。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/425841.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号