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

做自己的视频网站网站需要怎么优化比较好

做自己的视频网站,网站需要怎么优化比较好,xml网站地图每天更新,网址大全123设为主页最近在处理一个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/65235.html

相关文章:

  • 找哪个网站做摩配免费的云服务器有哪些
  • 商务网站建设与管理企业邮箱查询
  • 怎样创建个人购物网站搜索引擎优化包括哪些方面
  • 上海营销型网站建设哪家好小网站搜什么关键词好
  • 网站面包屑如何做抖来查关键词搜索排名
  • wordpress 导航链接关键词优化排名软件推荐
  • 在政府门户网站建设会议主持词厦门seo搜索引擎优化
  • 怎样做废旧网站googleplay安卓版下载
  • 云南做网站费用网络营销具有哪些优势和吸引力
  • 网站 免费空间营销广告
  • 邓州做网站青岛seo网络优化公司
  • 用万网建设网站教程视频南宁百度seo
  • 网站开发系统需求说明书百度云链接
  • dw设计做网站案例网络推广营销软件
  • 郴州本地网站建设免费模式营销案例
  • 天津滨海新区网站建设网站优化工具
  • 安全等级保护每个网站必须做吗色盲图
  • 西安做网站多钱搜索引擎优化策略
  • 全国旅游服务平台甘肃seo网站
  • 太原做网站找谁seo博客模板
  • 网站推荐男生正能量2021营销型网站建设
  • 超超大型网站独立服务器微营销推广软件
  • 自我建设外贸网站电子商务营销方法
  • 政府门户网站建设思路企业培训师资格证
  • 网站做跳转微信打开种子搜索在线 引擎
  • 做网站的公司挣钱吗网站建设策划书
  • 个人主页网站欣赏谷歌搜索引擎入口2022
  • wordpress导航背景seo什么职位
  • 什么网站可以做卷子seo的主要内容
  • 易企秀可以做微网站吗无锡百度推广开户