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

创建微网站北京死亡病例最新消息

创建微网站,北京死亡病例最新消息,wordpress主题 ality,做网站怎么签订协议Spring 将 JDBC 的 Connection、Hibernate 的 Session 等访问数据库的连接或者会话对象统称为资源#xff0c;这些资源在同一时刻是不能多线程共享的 。 为了让 DAO 或 Service 类可以实现单例模式#xff0c; Spring 的事务同步管理类 org.springframework.transaction.supp… Spring 将 JDBC 的 Connection、Hibernate 的 Session 等访问数据库的连接或者会话对象统称为资源这些资源在同一时刻是不能多线程共享的 。 为了让 DAO 或 Service 类可以实现单例模式 Spring 的事务同步管理类 org.springframework.transaction.support.TransactionSynchronizationManager 利用 ThreadLocal 为不同的事务线程提供了独立的资源副本并同时维护这些事务的配置属性和运行状态信息 。 Spring 框架为不同的持久化技术提供了一套从 TransactionSynchronizationManager 中获取对应线程绑定资源的工具类这些工具类都提供了可以获取绑定当前线程资源的静态方法 持久化技术线程绑定资源获取工具静态方法Spring JDBC 或 MyBatisorg.springframework.jdbc.datasource.DataSourceUtilspublic static Connection getConnection(DataSource dataSource)HibernateX.0org.springframework.orm.hibernateC.SessionFactoryUtilspublic static Session getSession(SessionFactory sessionFactory, boolean allowCreate)JPAorg.springframework.orm.jpa.EntityManagerFactoryUtilspublic static EntityManager getTransactionalEntityManager(EntityManagerFactory emf)JDOorg.springframework.orm.jdo.PersistenceManagerFactoryUtilspublic static PersistenceManager getPersistenceManager(PersistenceManagerFactory pmf, boolean allowCreate)某些场景下可能无法使用 Spring 提供的模板类。这时就必须通过操作底层持久化技术所提供的原生 API 而这就需要通过这些工具类来获取线程绑定的资源。如果直接从 DataSource 或 SessionFactory 中获取资源那么就无法让数据操作参与到与本线程相关的事务环境因为这些对象不能获取和当前线程相关的资源。 TransactionSynchronizationManager 源码如下 public abstract class TransactionSynchronizationManager {private static final Log logger LogFactory.getLog(TransactionSynchronizationManager.class);private static final ThreadLocalMapObject, Object resources new NamedThreadLocalMapObject, Object(Transactional resources);private static final ThreadLocalSetTransactionSynchronization synchronizations new NamedThreadLocalSetTransactionSynchronization(Transaction synchronizations);private static final ThreadLocalString currentTransactionName new NamedThreadLocalString(Current transaction name);private static final ThreadLocalBoolean currentTransactionReadOnly new NamedThreadLocalBoolean(Current transaction read-only status);private static final ThreadLocalInteger currentTransactionIsolationLevel new NamedThreadLocalInteger(Current transaction isolation level);private static final ThreadLocalBoolean actualTransactionActive new NamedThreadLocalBoolean(Actual transaction active);... } 复制代码事务线程成员变量说明resourcesConnection 或 Session 等资源currentTransactionName事务名称currentTransactionReadOnly事务只读状态currentTransactionIsolationLevel事务隔离级别actualTransactionActive事务激活状态TransactionSynchronizationManager 将 Dao、Service 类中影响线程安全的所有 “ 状态 ” 都统一抽取到该类中并用 ThreadLocal 进行封装这样一来 Dao 基于模板类或资源获取工具类创建的 Dao 和 Service 采用 Spring 事务管理机制就变成线程安全的对象啦 O(∩_∩)O~ 转载于:https://juejin.im/post/5c97117d5188252d59100dac
http://www.pierceye.com/news/135900/

相关文章:

  • 深圳设计网站速成班网站音频播放器代码
  • 域名注册最后是网站wordpress手机上传图片插件
  • 有哪些网站交互效果做的好的如何让google收录网站
  • wordpress到服务器配置云南seo
  • 常见网站安全漏洞行业网站如何推广
  • 网站开发实战项目苏州行业网站建设费用
  • 大团企业网站制作东莞网站制作的公司
  • 石家庄做网站公司的电话网站建设费用大概多少
  • 襄阳市网站建设怎么注册工作邮箱
  • 在百度里面做个网站怎么做的摄影大赛官网
  • 网站建设需要哪些的ps网站策划
  • 网站维护的意义上海知名进出口贸易公司
  • 青岛中小微企业互联网站建设补贴微信小程序怎么发布上线
  • 贺州做网站哪家公司温州移动网站建设服务商
  • 网站变灰兼容代码北京计算机培训学校
  • 网站导航包括海拉尔网站建设+网站设计
  • flashfxp 上传网站佛山哪里有网站开发
  • qq互联 网站开发济南建设集团有限公司官网
  • 网站开发兼职网站学校网站构建
  • 简约网站后台媒体网站开发
  • 广东营销网站建设网页设计理念及设计思路
  • 咋自己做网站桂林生活网官网首页
  • 电子商务网站建设的展望自己做壁纸的网站
  • 国外h5建站网站建设方案总结评语
  • 百度开放平台白城整站优化
  • 搜狗整站优化广州市网站建站
  • 最方便建立网站北京定制网络营销收费
  • 烟台放心的一站式网站建设桐梓网站建设
  • 如何高效的完成网站建设步骤美食分享网站建设策划书
  • 建立网站的软件网站建设数据库的购买