面试题:Spring事务失效场景

Spring事务失效场景

  1. @Transactional标记的方法,非public修饰
  2. @Transactional标记的方法所在内,非Spring容器管理
  3. @Transactional标记的方法,被类内部方法调用
  4. @Transactional 声明式事务默认只处理运行时异常,非运行时异常需要指定异常类型,例如@Transactional(rollbackFor = Exception.class)
  5. 异常被try catch语句块捕获,未抛出异常(最难被排查到问题且容易忽略)
  6. @Transactional中Propagation属性值设置错误即Propagation.NOT_SUPPORTED(一般不会设置此种传播机制)
  7. 数据库存储引擎不支持事务,如Mysql关系型数据库,如果选择的存储引擎是MyISAM而非InnoDB,则事务会不起作用(基本开发中不会遇到);

你可能感兴趣的:(spring,面试题,spring)