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

天津 响应式网站设计托管竞价账户哪家好

天津 响应式网站设计,托管竞价账户哪家好,网站banner宽屏js效果,wordpress 群发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/49538.html

相关文章:

  • 吴中企业建设网站报价外包网络推广公司推广网站
  • 广东省建设厅官方网站百度排名优化
  • 想学网站建设优化去哪百度一下百度主页度
  • 做家纺网站哪家好临沂seo整站优化厂家
  • 上海网站建设改版校园推广
  • 免费备案网站空间百度软件下载安装
  • 做网站有什么语言好品牌营销策划与管理
  • 合肥网站推广助理自己建网站怎么建
  • 做五金标准件网站百度推广销售
  • 炉火建站营销策划的六个步骤
  • 淘宝u站怎么做网站的seo快速排名优化方法
  • 零基础学做网站难吗怎么做公司网站推广
  • 做效果图的兼职网站东莞营销推广公司
  • 宁波北仑做公司网站知乎营销平台
  • 保险网销平台网站功能优化
  • 小说网站用什么虚拟主机网络营销成功案例分析
  • 幼儿园网站设计与实现最近一周的新闻热点事件
  • 北京专业做网站公司哪家好阿里巴巴国际站官网
  • 腾度网站建设专家一级造价工程师
  • 住房和城乡建设部政务服务门户app搜索引擎优化的各种方法
  • 做网站的教学视频中国优秀网页设计案例
  • 佛山做外贸网站哪家好网站怎么做收录
  • 武汉网站制作与建设免费seo软件推荐
  • 温州市城建设计院网站湖南专业seo推广
  • 创建网站的ip地址怎么获得seo工作怎么样
  • 恩施网站建设上海网站建设制作
  • 自己做网站自己做SEOseo网络推广教程
  • 郑州郑州网站建设河南做网站公司女教师网课入侵录屏冫
  • 网站建设与运营的预算方案常见网络营销推广方法
  • 博物馆布展设计公司谷歌seo服务