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

石家庄做网站排名公司seo为什么要进行外部优化

石家庄做网站排名公司,seo为什么要进行外部优化,成都品牌营销策划有限公司,平台借钱哪个利息最低transactional注解#xff0c;默认啥都不指定的时候#xff0c;我们使用的就是PROPAGATION_REQUIRED这种方式。 PROPAGATION_REQUIRED:业务方法需要在一个事务中运行#xff0c;如果方法运行时#xff0c;已处在一个事务中#xff0c;那么就加入该事务#xff0c;否则自…transactional注解默认啥都不指定的时候我们使用的就是PROPAGATION_REQUIRED这种方式。 PROPAGATION_REQUIRED:业务方法需要在一个事务中运行如果方法运行时已处在一个事务中那么就加入该事务否则自己创建一个新的事务。这是spring默认的传播行为。 翻译一下就是:看一下调用我的上层方法有没有事务,有的话,就舍弃我的事务,加入上层方法的事务中去. 往往很多小伙伴在使用声明式事物的时候大部分使用的就是这种默认的传播方式,就顶多加上一个异常指定Transactional(rollbackFor Exception.class) 试验一:一个方法调另两个方法,这个方法没加transactional,那两个方法上都加了transactional,那么创建了几个sqlsession,共有几个事务 试验得知,bb()方法一个sqlsession,一个事务.cc()方法一个sqlsession,一个事务. 一共两个sqlsession,  一个sqlsession对应一个事务,一共两个事务. 先创建一个sqlsession执行完后就把它关闭, 然后第二个sqlsession再被创建. 试验二:一个方法调另两个方法,这三个方法上都加了transactional注解,那么创建了几个sqlsession,共有几个事务  下面这种情况触发了spring事务的默认传播机制REQUIRED,就是如果上层存在事务,那么就舍弃自己的事务,加入上层的事务. 试验得知,下面的情况就是bb()和cc()方法的事务被舍弃了,就只有aa()的事务是生效的. 也就是只剩下aa()方法创建了一个sqlsession,  一个sqlsession对应一个事务,一共一个事务. 试验三:feign远程调用的话会对事务的默认传播机制有影响吗 试验得知:feign远程调用会阻挡事务的默认传播. 本来上层方法order服务aa()有事务,user服务aa()方法应该舍弃自己的事务并加入order服务aa()的事务,但是现在由于feign远程调用阻断了事务的传播,导致现在user服务aa()的事务没有舍弃,依然独立存在着.导致现在order服务aa()有个事务,user服务aa()的也有个事务. order服务的aa()方法创建了一个sqlsession,  一个sqlsession对应一个事务 user服务的aa()方法创建了一个sqlsession,  一个sqlsession对应一个事务 也就是说下面的代码一共创建了2个sqlsession,  2个事务. 试验四:手动开启事务会对事务的默认传播机制有影响吗  试验得知:手动开启事务代码并不会影响到事务的默认传播机制.手动开启事务代码和transactional注解是兼容的. 下面是试验: 手动事务 注入两个bean Autowired DataSourceTransactionManager dataSourceTransactionManager; Autowired TransactionDefinition transactionDefinition; 手动开启事务 TransactionStatus transactionStatus dataSourceTransactionManager.getTransaction(transactionDefinition); 手动提交事务 dataSourceTransactionManager.commit(transactionStatus);//提交 手动回滚事务 dataSourceTransactionManager.rollback(transactionStatus);//最好是放在catch 里面,防止程序异常而事务一直卡在哪里未提交 上面的这种手动开启事务的方式,也会和直接加transactional注解的事务的传播效果是一样的吗 开始试验: 情况一:将上层方法aa()改为手动开启事务代码. 运行代码发现,整个过程只创建了一个sqlsession,  一个sqlsession对应一个事务,证明手动开启事务代码并没有对事务的默认传播造成影响.手动开启事务代码和transactional注解是兼容的. 情况二:将下层方法cc()改为手动开启事务代码. 运行代码发现,整个过程只创建了一个sqlsession,  一个sqlsession对应一个事务,证明手动开启事务代码并没有对事务的默认传播造成影响.手动开启事务代码和transactional注解是兼容的.
http://www.pierceye.com/news/549121/

相关文章:

  • 网络logo设计优化设计七年级下册语文答案
  • 贵港网站seo安新网站建设
  • 网站怎么自己编辑模块创意网名大全
  • php的网站架构建设框架wordpress如何运行
  • 广州seo网站排名优化数码设计网站
  • 免费做视频相册的网站网站建设的功能描述
  • 网站建设方案浩森宇特alexa排名是什么意思
  • 网上手机网站建设计划书百度小说风云榜排名
  • 用js来做网站帝国cms这么做网站
  • 网站建设需求分析班级网站备案服务类型
  • 网站备案幕布照片怎么算合格北京专业网站开发
  • 浙江建设职业技术学院塘栖校区网站网络推广方法有几种
  • 呢图网站场建设封面长安镇做网站
  • 搜索关键词的网站黄山做网站
  • 网络建站系统去除wordpress主题头部作者信息
  • 鼓楼微网站开发番禺有经验的网站建设
  • 对网站建设心得进入公众号继续阅读怎么弄
  • 网站建设公司投诉电话可以先做网站后备案吗
  • 顺的品牌网站设计价位网站开发合同书
  • 用html5制作个人网站深圳百度国际大厦
  • 网络网站公司网站管理平台扩展插件
  • 个人小说网站怎么做把自己做的网页变成网站
  • led网站制作网站登录后不显示内容
  • 推广网站公司兴义市住房和城乡建设局网站
  • 营销网站建设的公司哪家好创建网站超链接
  • 苏州网站优化排名推广企业网站建设价格
  • 在线制作论坛网站wordpress建立好的网站
  • 网站的功能规范商城网站静态模板下载
  • 双语言网站源码制作网页的软件哪个好
  • 政务网站建设需求网站首页页面代码