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

天津 响应式网站设计百度长尾关键词挖掘工具

天津 响应式网站设计,百度长尾关键词挖掘工具,口碑好的聊城网站建设,ecshop企业网站模板1.2 事务管理器TransactionManager org.springframework.transaction.TransactionManager没有任何方法,仅作为类型标识,通常使用接口org.springframework.transaction.PlatformTransactionManager,该接口提供三个方法处理事务。事务管理器的类图如下: 其中AbstractPlatfor…

1.2 事务管理器TransactionManager

org.springframework.transaction.TransactionManager没有任何方法,仅作为类型标识,通常使用接口org.springframework.transaction.PlatformTransactionManager,该接口提供三个方法处理事务。事务管理器的类图如下:

在这里插入图片描述

其中AbstractPlatformTransactionManager类是PlatformTransactionManager接口的基础实现,里面有事务管理器的公共逻辑。在不同场景使用的事务管理器在它的基础上完善细节。

数据访问技术实现
JDBCDataSourceTransactionManager
JPAJpaTransactionManager
HibernateHibernateTransactionManager
JTAJtaTransactionManager
1.2.1 TransactionStatus

org.springframework.transaction.TransactionStatus接口继承了TransactionExecution和SavepointManager两个接口,因此可以使用TransactionStatus对象查看事务的执行情况和进行savepoint操作。在DefaultTransactionStatus实现类中,savepoint操作是委托给transaction对象实现的,该对象必须也必须实现SavepointManager接口

在这里插入图片描述

1.3 AbstractPlatformTransactionManager

该类抽象了TransactionManager的工作逻辑,也是上面提到的所有TransactionManager的父类

1.3.1 getTransaction
	@Overridepublic final TransactionStatus getTransaction(@Nullable TransactionDefinition definition)throws TransactionException {// Use defaults if no transaction definition given.TransactionDefinition def = (definition != null ? definition : TransactionDefinition.withDefaults());Object transaction = doGetTransaction(); // 调用子类的实现获取事务对象boolean debugEnabled = logger.isDebugEnabled();// 判断当前是否已经存在事务。该方法默认返回false,但是子类都会有自己的实现// 判断是否是否已经存在,主要用于处理事务的propagation逻辑if (isExistingTransaction(transaction)) {// Existing transaction found -> check propagation behavior to find out how to behave.return handleExistingTransaction(def, transaction, debugEnabled);}// PROPAGATION_MANDATORY表示需要有事务,没有事务将报错if (def.getPropagationBehavior() == TransactionDefinition.PROPAGATION_MANDATORY) {throw new IllegalTransactionStateException("No existing transaction found for transaction marked with propagation 'mandatory'");}else if (def.getPropagationBehavior() == TransactionDefinition.PROPAGATION_REQUIRED ||def.getPropagationBehavior() == TransactionDefinition.PROPAGATION_REQUIRES_NEW ||def.getPropagationBehavior() == TransactionDefinition.PROPAGATION_NESTED) {// 暂停前一个事务,通常为null,返回SuspendedResourcesHolder对象,用于恢复前一个事务SuspendedResourcesHolder suspendedResources = suspend(null);try {return startTransaction(def, transaction, debugEnabled, suspendedResources);}catch (RuntimeException | Error ex) {// 如果异常了,恢复前一个事务resume(null, suspendedResources);throw ex;}}else { // 用户自定义的传播级别// Create "empty" transaction: no actual transaction, but potentially synchronization.if (def.getIsolationLevel() != TransactionDefinition.ISOLATION_DEFAULT && logger.isWarnEnabled()) {logger.warn("Custom isolation level specified but no actual transaction initiated; " +"isolation level will effectively be ignored: " + def);}boolean newSynchronization = (getTransactionSynchronization() == SYNCHRONIZATION_ALWAYS);return prepareTransactionStatus(def, null, true, newSynchronization, debugEnabled, null);}}

开始一个事务

/*** Start a new transaction.*/
private TransactionStatus startTransaction(TransactionDefinition definition, Object transaction,boolean debugEnabled, @Nullable SuspendedResourcesHolder suspendedResources) {// 默认为trueboolean newSynchronization = (getTransactionSynchronization() != SYNCHRONIZATION_NEVER);// 获取status对象DefaultTransactionStatus status = newTransactionStatus(definition, transaction, true
http://www.15wanjia.com/news/19766.html

相关文章:

  • 自己网站如何做关键词排名软文推广营销服务平台
  • 可以用css3做响应式网站吗seo是什么姓氏
  • wordpress迁移后后台页面打不开太原seo霸屏
  • 做网站怎样找重庆seo整站优化方案范文
  • 对象存储oss做视频网站游戏推广渠道
  • 懒懒淘客怎么做自己的网站网络销售怎么做
  • 做那个免费视频网站seo搜索引擎优化价格
  • 超级门户博客版wordpress主题潜江seo
  • 网站上的图用美图秀秀做可以吗班级优化大师官网登录
  • 西安高端网站定制google官网
  • 南京网络推广嘉兴百度seo
  • 个人网站构建网站域名ip地址查询
  • wordpress 商家 用户北京seo培训
  • 做团队网站源码有哪些黑马程序员培训机构官网
  • 东莞虚拟主机关键词推广优化
  • 网站备案跟域名备案中国搜索引擎排行榜
  • 重庆网站建设是什么重庆seo软件
  • 全国工商网seo优化方式
  • asp.net做的网站模板下载下载百度安装
  • 100网站建设张北网站seo
  • php做的卖水果网站有哪些网站建设公司官网
  • logo做ppt模板下载网站超级软文
  • 网站文章优化怎么做百度推广客户端电脑版
  • 国内做博彩网站代理企业推广平台有哪些
  • 高端网站建设教学市场营销图片高清
  • 有没有做那事的网站网络安全培训机构排名
  • 中国建设网站官网百度搜索指数是怎么计算的
  • 网站备案账号是什么app推广拉新一手渠道代理
  • 如何做二维码跳转到网站软文标题例子
  • 网站定制开发怎么做百度seo关键词排名优化软件