黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

spring的幾種內置事務管理器

系統 2253 0

Spring提供了許多內置事務管理器實現:

  • DataSourceTransactionManager 位于org.springframework.jdbc.datasource包中,數據源事務管理器,提供對單個javax.sql.DataSource事務管理,用于Spring JDBC抽象框架、iBATIS或MyBatis框架的事務管理;
  • JdoTransactionManager 位于org.springframework.orm.jdo包中,提供對單個javax.jdo.PersistenceManagerFactory事務管理,用于集成JDO框架時的事務管理;
  • JpaTransactionManager 位于org.springframework.orm.jpa包中,提供對單個javax.persistence.EntityManagerFactory事務支持,用于集成JPA實現框架時的事務管理;
  • HibernateTransactionManager 位于 org.springframework.orm.hibernate3包中,提供對單個org.hibernate.SessionFactory事務 支持,用于集成Hibernate框架時的事務管理;該事務管理器只支持Hibernate3+版本,且Spring3.0+版本只支持 Hibernate 3.2+版本;
  • JtaTransactionManager 位于org.springframework.transaction.jta包中,提供對分布式事務管理的支持,并將事務管理委托給Java EE應用服務器事務管理器;
  • OC4JjtaTransactionManager 位于org.springframework.transaction.jta包中,Spring提供的對OC4J10.1.3+應用服務器事務管理器的適配器,此適配器用于對應用服務器提供的高級事務的支持;
  • WebSphereUowTransactionManager 位于org.springframework.transaction.jta包中,Spring提供的對WebSphere 6.0+應用服務器事務管理器的適配器,此適配器用于對應用服務器提供的高級事務的支持;
  • WebLogicJtaTransactionManager 位于org.springframework.transaction.jta包中,Spring提供的對WebLogic 8.1+應用服務器事務管理器的適配器,此適配器用于對應用服務器提供的高級事務的支持。

一、 聲明對本地事務的支持:

a) JDBC 及iBATIS 、MyBatis 框架事務管理器

?

java代碼:
Java代碼 ? 收藏代碼
  1. <bean?id= "txManager" ? class = "org.springframework.jdbc.datasource.DataSourceTransactionManager" >??
  2. ????<property?name= "dataSource" ?ref= "dataSource" />??
  3. </bean>??

?

通過dataSource屬性指定需要事務管理的單個javax.sql.DataSource對象。

b) Jdo 事務管理器

?

java代碼:
Java代碼 ? 收藏代碼
  1. <bean?id= "txManager" ? class = "org.springframework.orm.jdo.JdoTransactionManager" >??
  2. ????<property?name= "persistenceManagerFactory" ?ref= "persistenceManagerFactory" />??
  3. </bean>??

?

通過persistenceManagerFactory屬性指定需要事務管理的javax.jdo.PersistenceManagerFactory對象。

?

c) Jpa 事務管理器

?

java代碼:
Java代碼 ? 收藏代碼
  1. <bean?id= "txManager" ? class = "org.springframework.orm.jpa.JpaTransactionManager" >??
  2. ????<property?name= "entityManagerFactory" ?ref= "entityManagerFactory" />??
  3. </bean>??

?

通過entityManagerFactory屬性指定需要事務管理的javax.persistence.EntityManagerFactory對象。

還需要為entityManagerFactory對象指定jpaDialect屬性,該屬性所對應的對象指定了如何獲取連接對象、開啟事務、關閉事務等事務管理相關的行為。

?

java代碼:
Java代碼 ? 收藏代碼
  1. <bean?id= "entityManagerFactory" ? class = "org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" >??
  2. ????????……??
  3. ????????<property?name= "jpaDialect" ?ref= "jpaDialect" />??
  4. </bean>??
  5. <bean?id= "jpaDialect" ? class = "org.springframework.orm.jpa.vendor.HibernateJpaDialect" />??

?

?

d) Hibernate 事務管理器

?

java代碼:
Java代碼 ? 收藏代碼
  1. <bean?id= "txManager" ? class = "org.springframework.orm.hibernate3.HibernateTransactionManager" >??
  2. ????<property?name= "sessionFactory" ?ref= "sessionFactory" />??
  3. </bean>??

通過entityManagerFactory屬性指定需要事務管理的org.hibernate.SessionFactory對象。

?

?

二、 Spring 對全局事務的支持:

?

a) Jta 事務管理器

?

?

java代碼:
Java代碼 ? 收藏代碼
  1. <beans?xmlns= "http://www.springframework.org/schema/beans" ??
  2. ????xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" ??
  3. ????xmlns:jee= "http://www.springframework.org/schema/jee" ??
  4. ????xsi:schemaLocation="??
  5. ???????http: //www.springframework.org/schema/beans ??
  6. ???????http: //www.springframework.org/schema/beans/spring-beans-3.0.xsd ??
  7. ???????http: //www.springframework.org/schema/jee ??
  8. ???????http: //www.springframework.org/schema/jee/spring-jee-3.0.xsd"> ??
  9. ???
  10. ??<jee:jndi-lookup?id= "dataSource" ?jndi-name= "jdbc/test" />??
  11. ??<bean?id= "txManager" ? class = "org.springframework.transaction.jta.JtaTransactionManager" >??
  12. ????<property?name= "transactionManagerName" ?value= "?java:comp/TransactionManager" />??
  13. ??</bean>??
  14. </beans>??

?

“dataSource”Bean表示從JNDI中獲取的數據源,而txManager是JTA事務管理器,其中屬性transactionManagerName指定了JTA事務管理器的JNDI名字,從而將事務管理委托給該事務管理器。

spring的幾種內置事務管理器


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論