当前位置: 首页 > wzjs >正文

有什么做服装的网站app排名优化公司

有什么做服装的网站,app排名优化公司,seo关键词平台,反钓鱼网站建设期最近在处理一个BPM流程时,遇到了并发问题,原因是事务粒度太大了,导致等待lock超时。今天刚好借此机会分享下Spring框架中提供的7种事务传播行为。 在 Spring中,Transactional 注解支持配置事务的传播行为,用于指定当一…

最近在处理一个BPM流程时,遇到了并发问题,原因是事务粒度太大了,导致等待lock超时。今天刚好借此机会分享下Spring框架中提供的7种事务传播行为。

在 Spring中,@Transactional 注解支持配置事务的传播行为,用于指定当一个事务方法被另一个事务方法调用时,如何处理事务边界。Spring 定义了 7 种传播行为。

1. Propagation.REQUIRED (默认值)

这是最常用的传播行为,也是 @Transactional 注解的默认设置。

它保证了方法总是在一个事务中执行。如果内部方法加入外部方法的事务,它们将共享同一个事务上下文,内部方法的失败会导致整个事务回滚。

@Service
public class MyService {// 默认 REQUIRED,一组操作要么同时成功,要么同时失败。@Transactionalpublic void defaultTx() {}
}

2. Propagation.SUPPORTS

这个方法不强制需要事务。如果调用它的上下文有事务,它就利用这个事务;如果没有,它也不创建新的事务。

@Service
public class MyService {// 支持事务,无则非事务执行@Transactional(propagation = Propagation.SUPPORTS)public void supportsTx() {}
}

3. Propagation.MANDATORY

强制要求方法必须在一个已存在的事务中执行。如果调用者没有启动事务,调用该方法会失败。

@Service
public class MyService {// 必须存在事务,否则抛异常@Transactional(propagation = Propagation.MANDATORY)public void mandatoryTx() {}
}

4. Propagation.REQUIRES_NEW

内部方法的事务与外部方法的事务是完全独立的。

内部事务的提交或回滚不影响外部事务。同样,外部事务的回滚也不会影响已提交的内部事务。

@Service
public class MyService {// 新建事务,挂起外层事务@Transactional(propagation = Propagation.REQUIRES_NEW)public void requiresNewTx() {}
}

5. Propagation.NOT_SUPPORTED

明确表示该方法不应在事务中运行。

如果调用它时存在事务,该事务会被暂停,直到该方法执行完毕。

@Service
public class MyService {// 不支持事务,存在事务时挂起,适用于数据批量导出、日志写入操作@Transactional(propagation = Propagation.NOT_SUPPORTED)public void notSupportedTx() {}
}

6. Propagation.NEVER

强制要求方法不能在任何事务中执行。如果检测到当前存在事务,会立即报错。

@Service
public class MyService {// 不支持事务,存在事务时抛异常@Transactional(propagation = Propagation.NEVER)public void neverTx() {}
}

7. Propagation.NESTED

嵌套事务是外部事务的一个子事务。它有自己的保存点 (savepoint)。

内部嵌套事务可以独立于外部事务进行回滚(回滚到保存点),但它的最终提交依赖于外部事务的成功提交。如果外部事务回滚,则嵌套事务的所有更改也会被回滚。

@Service
public class MyService {// 嵌套事务,依赖外层事务@Transactional(propagation = Propagation.NESTED)public void nestedTx() {}
}

与REQUIRES_NEW 不同的地方在于,前者创建的是完全独立的事务,而 NESTED 创建的是依赖于外部事务的子事务(使用保存点)。

NESTED 行为依赖于底层 DataSource 和事务管理器(PlatformTransactionManager)是否支持保存点。并非所有数据库和 JDBC 驱动都支持。

http://www.dtcms.com/wzjs/10718.html

相关文章:

  • 网站做下要多少如何推广品牌知名度
  • 北京单页营销型网站制作东莞网络营销平台
  • 黑龙江省华龙建设有限公司网站网站自动推广软件免费
  • 青岛网景互联网站建设公司搜索引擎优化实训
  • 没固定ip怎么做网站宁波网站关键词优化排名
  • 做涂鸦的网站今天刚刚发生的新闻最新新闻
  • 做网站什么语言最好关键词搜索推广排行榜
  • 品牌网站建设解决方案常见的网络推广方式有哪些
  • 唐山诚达建设集团网站推广费用一般多少钱
  • 做网站有多难新闻头条最新消息今天发布
  • 有什么发布做投标报价的网站企业文化内容范本
  • 做b2b2c商城网站传播易广告投放平台
  • 自己网站建设和维护免费个人主页网站
  • 适合初学者做的网站潍坊网站模板建站
  • 深圳vi设计手册东莞seo网络培训
  • 许昌网站开发公司百度服务中心人工24小时电话
  • 十大招标网站排行榜一个产品的市场营销策划方案
  • 网站怎么做会让神马搜索到广州疫情最新消息今天封城了
  • 深圳宝安区深圳网站建设 骏域网络重庆seo建站
  • 宁波建设工程报名网站北京搜索引擎优化
  • 网站超市西安网站建设公司十强
  • 开网店要建网站平台吗的搜索引擎优化
  • 网站开发公司臻动2021百度热搜年度榜
  • 学习网页设计seo人员是什么意思
  • wordpress怎么添加icpseo收费还是免费
  • 同样也是做严选的网站如何软件网站优化公司
  • 网络推广培训推荐沈阳关键词优化费用
  • 网络技术开发有限公司seo技术建站
  • 互联网技术的发展廊坊推广seo霸屏
  • 提高自己网站百度指数是搜索量吗