php cdi

在Java EE中,在执行事务性业务方法期间引发的异常导致事务回滚。 但是,只有系统异常(即运行时异常)才是这种情况,该方法异常未在方法签名中声明。

对于应用程序异常(即检查的异常)或任何带@ApplicationException注释的异常,不会自动回滚事务。 有时这会引起企业开发人员的困惑。

对于EJB业务方法,还可以通过指定@ApplicationException(rollback = true)来强制事务回退应用程序异常。 但是,仅当EJB中的托管bean时才考虑使用此注释。

CDI还可以使用@Transactional事务上执行业务方法。 此注释使我们拥有更多控制权。 使用@Transactional我们不仅可以定义事务类型,例如REQUIREDREQUIRES_NEW ,而且可以定义我们要回滚或不希望回滚的异常类型:

public class CarManufacturer {@InjectCarFactory carFactory;@InjectEvent<CarCreated> createdCars;@PersistenceContextEntityManager entityManager;@Transactional(rollbackOn = CarCreationException.class,dontRollbackOn = NotificationException.class)public Car manufactureCar(Specification specification) {Car car = carFactory.createCar(specification);entityManager.persist(car);createdCars.fire(new CarCreated(car.getIdentification()));return car;}}

CarCreationException发生CarCreationException ,事务将被回滚,但不是NotificationException

翻译自: https://www.javacodegeeks.com/2018/01/transactional-exception-handling-cdi.html

php cdi

php cdi_CDI中的事务异常处理相关推荐

  1. CDI中的事务异常处理

    在Java EE中,在执行事务性业务方法期间引发的异常导致事务回滚. 但是,只有系统异常(即运行时异常)才是这种情况,该方法异常未在方法签名中声明. 对于应用程序异常(即检查的异常)或任何带@Appl ...

  2. springboot事务回滚源码_Spring Boot中的事务是如何实现的

    1. 概述 一直在用SpringBoot中的@Transactional来做事务管理,但是很少想过SpringBoot是如何实现事务管理的,今天从源码入手,看看@Transactional是如何实现事 ...

  3. springboot 事务手动回滚_Spring Boot中的事务是如何实现的

    1. 概述 一直在用SpringBoot中的@Transactional来做事务管理,但是很少想过SpringBoot是如何实现事务管理的,今天从源码入手,看看@Transactional是如何实现事 ...

  4. python切面异常处理_Spring项目中优雅的异常处理

    Spring项目中优雅的异常处理 前言 如今的Java Web项目多是以 MVC 模式构建的,通常我们都是将 Service 层的异常统一的抛出,包括自定义异常和一些意外出现的异常,以便进行事务回滚, ...

  5. springboot 事务_Spring Boot中的事务是如何实现的?懂吗?

    一个SpringBoot问题就干趴下了?我却凭着这份PDF文档吊打面试官. 金三银四第一天,啃透这些SpringBoot知识点,还怕干不赢面试官? Spring全家桶笔记:Spring+Spring ...

  6. Spring中的事务控制

    Chapter 1. Spring中的事务控制(Transacion Management with Spring) Table of Contents 1.1. 有关事务(Transaction)的 ...

  7. Spring中的事务控制(Transacion Management with Spring)

    1.1. 有关事务(Transaction)的楔子 1.1.1. 认识事务本身1.1.2. 初识事务家族成员 1.2. 群雄逐鹿下的Java事务管理 1.2.1. Java平台的局部事务支持1.2.2 ...

  8. Spring中的事务控制学习中(转)

    1.1. 有关事务(Transaction)的楔子 1.1.1. 认识事务本身 1.1.2. 初识事务家族成员 1.2. 群雄逐鹿下的Java事务管理 1.2.1. Java平台的局部事务支持 1.2 ...

  9. Spring中的事务控制学习中

    Chapter 1. Spring中的事务控制(Transacion Management with Spring) Table of Contents 事务管理(Transaction Manage ...

最新文章

  1. JUnit基础及第一个单元测试实例(JUnit3.8)
  2. 程序员11月书讯 | 硅谷,梦开始的地方
  3. snort2安装及卸载教程
  4. InSAR 处理软件
  5. webservice xsd.exe根据xml生成xsd。然后根据xsd生成java bean
  6. 可能是全网首个前端源码共读活动,诚邀你加入一起学习
  7. Effective C++学习第十天
  8. 关闭dhcp服务器无线用不了怎么办,路由器关闭dhcp之后无法上网怎么办?
  9. Codeforces Round #666 (Div. 2)D. Stoned Game(博弈问题)
  10. Python学习总结(九)正则表达式
  11. Linux 》编译器gcc/g++,调试器gdb
  12. 老男孩教育50期学员
  13. BDE Administrator 在 Windows 7/10 保存无响应卡死
  14. win7下用VS编译SBA(摄影测量光束法平差程序库)
  15. win10总显示打印机未连接服务器,win10安装打印机一直未响应。。。
  16. 课后作业——Day6
  17. myeclipse下载git插件
  18. 电池串联均衡电路Simulink仿真
  19. 暗通道去雾算法代码实现(1) python
  20. 个人对于“初链”白皮书和黄皮书的解读

热门文章

  1. [指数型生成函数专练]chocolate,红色病毒问题,排列组合,字串数
  2. P4026-[SHOI2008]循环的债务【dp】
  3. jzoj3682-Points and Segments【模型转化,欧拉回路】
  4. P3690-[模板]Link Cut Tree(动态树)【Splay】
  5. P5283-[十二省联考2019]异或粽子【可持久化Trie,堆】
  6. jzoj1758-过河【dp】
  7. ssl提高组周六模拟赛【2019.3.2】
  8. P3891-[GDOI2014]采集资源【背包,dp】
  9. codeforces1493 D. GCD of an Array(数论)
  10. 秀姿势(jzoj 3464)