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

单位网站服务的建设及维护做漫画在线观看网站

单位网站服务的建设及维护,做漫画在线观看网站,销售网站建设的会计分录,网站域名使用前面说到用数据库中的锁机制对并发事务进行控制#xff0c;这节来说说事务方法和事务方法发生嵌套调用时事务如何进行传播。例如#xff1a;方法可能继续在现有事务中运行#xff0c;也可能开启一个新事务#xff0c;并在自己的事务中运行。例如#xff1a;方法可能继续在…前面说到用数据库中的锁机制对并发事务进行控制这节来说说事务方法和事务方法发生嵌套调用时事务如何进行传播。例如方法可能继续在现有事务中运行也可能开启一个新事务并在自己的事务中运行。例如方法可能继续在现有事务中运行也可能开启一个新事务并在自己的事务中运行。Spring定义了七种传播行为 传播行为 含义 PROPAGATION_REQUIRED 表示当前方法必须运行在事务中。如果当前事务存在方法将会在该事务中运行。否则会启动一个新的事务 PROPAGATION_SUPPORTS 表示当前方法不需要事务上下文但是如果存在当前事务的话那么该方法会在这个事务中运行 PROPAGATION_MANDATORY 表示该方法必须在事务中运行如果当前事务不存在则会抛出一个异常 PROPAGATION_REQUIRED_NEW表示当前方法必须运行在它自己的事务中。一个新的事务将被启动。如果存在当前事务在该方法执行期间当前事务会被挂起。 PROPAGATION_NOT_SUPPORTED 表示该方法不应该运行在事务中。如果存在当前事务在该方法运行期间当前事务将被挂起。 PROPAGATION_NEVER 表示当前方法不应该运行在事务上下文中。如果当前正有一个事务在运行则会抛出异常 PROPAGATION_NESTED表示如果当前已经存在一个事务那么该方法将会在嵌套事务中运行。嵌套的事务可以独立于当前事务进行单独地提交或回滚。如果当前事务不存在那么其行为与PROPAGATION_REQUIRED一样。 一个事务中会有多个dao层接口需要与数据库建立连接存取数据那就需要保证这些dao操作调用的都是一个connection对象这样才能保证事务执行的正确性。那这又是如何保证的呢 源码比较多等有时间再慢慢分析简单说就是 1TransactionSynchronizationManager内部用ThreadLocal对象存储资源ThreadLocal存储的为DataSource生成的actualKey为key值和ConnectionHolder作为value值封装成的Map。 2 结合DataSourceUtils的doGetConnection函数和TransactionSynchronizationManager的bindResource函数可知在某个线程第一次调用时候封装Map资源为key值为DataSource生成actualKey【Object actualKey TransactionSynchronizationUtils.unwrapResourceIfNecessary(key);】value值为DataSource获得的Connection对象封装后的ConnectionHolder。等这个线程下一次再次访问中就能保证使用的是第一次创建的ConnectionHolder中的Connection对象。 说了事务的传播属性、隔离规则顺着这条线说说Spring的事务管理先看下Spring事务管理的接口框架。 Spring并不直接管理事务而是提供了多种事务管理器他们将事务管理的职责委托给hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现。 前面介绍了事务隔离规则、传播特性那么事务中还有那些特性 事务超时 为了使应用程序很好地运行事务不能运行太长的时间。因为事务可能涉及对后端数据库的锁定所以长时间的事务会不必要的占用数据库资源。事务超时就是事务的一个定时器在特定时间内事务如果没有执行完毕那么就会自动回滚而不是一直等待其结束。 回滚规则 事务五边形的最后一个方面是一组规则这些规则定义了哪些异常会导致事务回滚而哪些不会。默认情况下事务只有遇到运行期异常时才会回滚而在遇到检查型异常时不会回滚。但是你可以声明事务在遇到特定的检查型异常时像遇到运行期异常那样回滚。同样你还可以声明事务遇到特定的异常不回滚即使这些异常是运行期异常。 只读 事务的第三个特性是它是否为只读事务。如果事务只对后端的数据库进行该操作数据库可以利用事务的只读特性来进行一些特定的优化。通过将事务设置为只读你就可以给数据库一个机会让它应用它认为合适的优化措施。 编程式和声明式事务 Spring提供了对编程式事务和声明式事务的支持编程式事务允许用户在代码中精确定义事务的边界而声明式事务基于AOP有助于用户将操作与事务规则进行解耦。 简单地说编程式事务侵入到了业务代码里面但是提供了更加详细的事务管理而声明式事务由于基于AOP所以既能起到事务管理的作用又可以不影响业务代码的具体实现。 以上有的并没有实际的开发经历所以感受不是很深先作为一个了解吧 转载于:https://www.cnblogs.com/linyukun/p/9892523.html
http://wiki.neutronadmin.com/news/131815/

相关文章:

  • 临河可以做网站的公司哪个网站可以做销售记录仪
  • 阿里云网站实名认证wordpress修改页面固定连接
  • 设计网站推荐pswordpress 修改 page
  • 绍兴网站建设技术外包电影网站建设的核心是
  • 四川电子商务网站html5网站建设中
  • 黑龙江省建设网官方网站公司网站建设多少费用济南兴田德润评价
  • 个人站长做什么类型的网站个人网站设计规划书
  • 怎样在阿里做网站与wordpress集成软件
  • 4s店网站建设方案网站关于我们介绍模板
  • 六安网站建设报价方案网站怎么申请域名
  • 中国工程建设焊接协会网站线上营销的方式
  • wordpress网站代码文件太多wordpress给指定用户设置角色
  • 现在手机网站用什么做鄂州做网站公司
  • 加强网站备案管理专项行动做竞价推广这个工作怎么样
  • 什么叫网站策划书群晖 套件 wordpress
  • 深圳网站制作哪家好企业网站策划文案
  • 电子科技东莞网站建设简历免费模板可编辑word
  • 本地服务型网站开发wordpress 添加评论等级
  • 我公司要网站建设dedecms 网站导航
  • 微页制作网站模板下载自己怎么做微网站
  • 长沙网站空间青岛官网seo方法
  • 二手房网站建设方案网站怎么做的支付宝接口
  • 江苏省建设网站做网站的像素是多少
  • 网站建设系统分析互联网编程培训
  • 徐州网站公司自己开发的软件怎么卖
  • wordpress检索seo是什么及作用
  • 龙岗做网站多少钱手机端快速建站工具
  • 安徽城乡建设厅官方网站做网站合伙怎么分
  • 做网站学多长时间可以学会米粒网站建设
  • 电影采集网站流量教育培训网站有哪些