锘??xml version="1.0" encoding="utf-8" standalone="yes"?>中文字幕无码精品亚洲资源网久久,亚洲国产成人五月综合网 ,亚洲人成电影福利在线播放 http://www.tkk7.com/fjpan2002/category/3567.htmlzh-cnFri, 02 Mar 2007 06:47:01 GMTFri, 02 Mar 2007 06:47:01 GMT60Spring浜嬪姟http://www.tkk7.com/fjpan2002/articles/21096.html鍕囨暍鐨勫績鍕囨暍鐨勫績Wed, 23 Nov 2005 02:36:00 GMThttp://www.tkk7.com/fjpan2002/articles/21096.htmlhttp://www.tkk7.com/fjpan2002/comments/21096.htmlhttp://www.tkk7.com/fjpan2002/articles/21096.html#Feedback1http://www.tkk7.com/fjpan2002/comments/commentRss/21096.htmlhttp://www.tkk7.com/fjpan2002/services/trackbacks/21096.html涓銆丳ropagation 錛?BR>
瀵逛簬鐗瑰畾鐨勬柟娉曟垨鏂規硶鍛藉悕妯″紡錛屼唬鐞嗙殑鍏蜂綋浜嬪姟琛屼負鐢變簨鍔″睘鎬ч┍鍔紝濡備笅闈㈢殑渚嬪瓙鎵紺猴細
<prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="store*">PROPAGATION_REQUIRED</prop>

銆銆key灞炴х‘瀹氫唬鐞嗗簲璇ョ粰鍝釜鏂規硶澧炲姞浜嬪姟琛屼負銆傝繖鏍風殑灞炴ф渶閲嶈鐨勯儴浠芥槸浼犳挱琛屼負銆傛湁浠ヤ笅閫夐」鍙緵浣跨敤錛?/P>

  • PROPAGATION_REQUIRED--鏀寔褰撳墠浜嬪姟錛屽鏋滃綋鍓嶆病鏈変簨鍔★紝灝辨柊寤轟竴涓簨鍔°傝繖鏄渶甯歌鐨勯夋嫨銆?
  • PROPAGATION_SUPPORTS--鏀寔褰撳墠浜嬪姟錛屽鏋滃綋鍓嶆病鏈変簨鍔★紝灝變互闈炰簨鍔℃柟寮忔墽琛屻?
  • PROPAGATION_MANDATORY--鏀寔褰撳墠浜嬪姟錛屽鏋滃綋鍓嶆病鏈変簨鍔★紝灝辨姏鍑哄紓甯搞?
  • PROPAGATION_REQUIRES_NEW--鏂板緩浜嬪姟錛屽鏋滃綋鍓嶅瓨鍦ㄤ簨鍔★紝鎶婂綋鍓嶄簨鍔℃寕璧楓?
  • PROPAGATION_NOT_SUPPORTED--浠ラ潪浜嬪姟鏂瑰紡鎵ц鎿嶄綔錛屽鏋滃綋鍓嶅瓨鍦ㄤ簨鍔★紝灝辨妸褰撳墠浜嬪姟鎸傝搗銆?
  • PROPAGATION_NEVER--浠ラ潪浜嬪姟鏂瑰紡鎵ц錛屽鏋滃綋鍓嶅瓨鍦ㄤ簨鍔★紝鍒欐姏鍑哄紓甯搞?

      鍓嶅叚涓瓥鐣ョ被浼間簬EJB CMT錛氬父閲忓悕鐩稿悓錛屽洜姝わ紝瀵笶JB寮鍙戜漢鍛樻潵璇達紝搴旇绔嬪埢灝辨劅鍒扮啛鎮夈傜涓冧釜錛圥ROPAGATION_NESTED錛夋槸Spring鎵鎻愪緵鐨勪竴涓壒孌婂彉閲忋傚畠瑕佹眰浜嬪姟綆$悊鍣ㄦ垨鑰呬嬌鐢↗DBC 3.0 Savepoint API鎻愪緵宓屽浜嬪姟琛屼負錛堝Spring鐨凞ataSourceTransactionManager錛夛紝鎴栬呴氳繃JTA鏀寔宓屽浜嬪姟銆?/P>

銆銆銆銆

浜屻両solation Level(浜嬪姟闅旂絳夌駭):
1銆丼erializable錛氭渶涓ユ牸鐨勭駭鍒紝浜嬪姟涓茶鎵ц錛岃祫婧愭秷鑰楁渶澶э紱
2銆?STRONG>REPEATABLE READ錛?/STRONG>淇濊瘉浜嗕竴涓簨鍔′笉浼氫慨鏀瑰凡緇忕敱鍙︿竴涓簨鍔¤鍙栦絾鏈彁浜わ紙鍥炴粴錛夌殑鏁版嵁銆傞伩鍏嶄簡鈥滆剰璇誨彇鈥濆拰鈥滀笉鍙噸澶嶈鍙栤濈殑鎯呭喌錛屼絾鏄甫鏉ヤ簡鏇村鐨勬ц兘鎹熷け銆?BR>3銆?STRONG>READ COMMITTED:澶у鏁頒富嫻佹暟鎹簱鐨勯粯璁や簨鍔$瓑綰э紝淇濊瘉浜嗕竴涓簨鍔′笉浼氳鍒板彟涓涓茍琛屼簨鍔″凡淇敼浣嗘湭鎻愪氦鐨勬暟鎹紝閬垮厤浜嗏滆剰璇誨彇鈥濄傝綰у埆閫傜敤浜庡ぇ澶氭暟緋葷粺銆?BR>4銆丷ead Uncommitted錛氫繚璇佷簡璇誨彇榪囩▼涓笉浼氳鍙栧埌闈炴硶鏁版嵁銆?BR>
spring涓殑Isolation灞炴э細
1銆両SOLATION_DEFAULT 錛氫嬌鐢ㄥ綋鍓嶆暟鎹簮鐨勯粯璁ょ駭鍒?BR>2銆両SOLATION_READ_UNCOMMITTED 錛欴irty reads, non-repeatable reads, and phantom reads can occur.
3銆両SOLATION_READ_COMMITTED :Dirty reads are prevented; non-repeatable reads and phantom reads can occur.
4銆両SOLATION_REPEATABLE_READ:Dirty reads and non-repeatable reads are prevented; phantom reads can occur.
5銆両SOLATION_SERIALIZABLE:Dirty reads, non-repeatable reads, and phantom reads are prevented.

涓夈乺eadOnly
浜嬪姟灞炴т腑鐨剅eadOnly鏍囧織琛ㄧず瀵瑰簲鐨勪簨鍔″簲璇ヨ鏈浼樺寲涓哄彧璇諱簨鍔°傝繖鏄竴涓渶浼樺寲鎻愮ず銆傚湪涓浜涙儏鍐典笅錛屼竴浜涗簨鍔$瓥鐣ヨ兘澶熻搗鍒版樉钁楃殑鏈浼樺寲鏁堟灉錛屼緥濡傚湪浣跨敤Object/Relational鏄犲皠宸ュ叿錛堝錛欻ibernate鎴朤opLink錛夋椂閬垮厤dirty checking錛堣瘯鍥鋸滃埛鏂扳濓級銆?BR>
鍥涖乀imeout

      鍦ㄤ簨鍔″睘鎬т腑榪樻湁瀹氫箟鈥渢imeout鈥濆肩殑閫夐」錛屾寚瀹氫簨鍔¤秴鏃朵負鍑犵銆傚湪JTA涓紝榪欏皢琚畝鍗曞湴浼犻掑埌J2EE鏈嶅姟鍣ㄧ殑浜嬪姟鍗忚皟紼嬪簭錛屽茍鎹寰楀埌鐩稿簲鐨勮В閲娿?BR>
浜嬪姟鍒掑垎絳栫暐

1銆佹帹鑽愬湪涓氬姟灞備嬌鐢ㄤ簨鍔★紝榪欐牱鍙互鍏佽涓氬姟灞傛崟鑾峰鑷磖ollback鐨勫紓甯革紝騫舵姏鍑烘伆褰撶殑涓氬姟灞傚紓甯革紱涓嶅湪dao灞備嬌鐢ㄤ簨鍔℃槸鍥犱負榪欎細闄愬埗浜哾ao閲嶇敤鍏朵粬浜嬪姟闇姹傦紝騫朵笖dao灞傛病鏈夊疄鐜頒笟鍔¢昏緫錛屽茍涓斿師瀛愭т篃鏄笟鍔″眰鐨勬蹇點?BR>
spring澹版槑鎬т簨鍔$殑鍒掑垎錛?BR>1銆佹湁鍥涗釜鍦版柟闇瑕侀厤緗細The four participants are transaction manager, proxy factory, transaction interceptor, and a set of transaction attributes.




2銆佷嬌鐢≒roxyFactoryBean/Transaction Interceptor錛?SPAN class=fixed>transactionInterceptor錛夐厤緗畇pring浜嬪姟

浠ヤ笅涓洪厤緗疄渚嬶細

<!-- The DBCP DataSource -->
  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"  
        destroy-method="close">
    <property name="driverClassName">
      <value>${jdbc.driverClassName}</value>
    </property>
    <property name="url"><value>${jdbc.url}</value></property>
    <property name="username"><value>${jdbc.username}</value></property>
    <property name="password"><value>${jdbc.password}</value></property>
  </bean>
   
  <!-- The DAO class -->
  <bean id="dao" 
class="org.springframework.prospring.ticket.dao.jdbc.JdbcBoxOfficeDao">
    <property name="dataSource">
      <ref local="dataSource"/>
    </property> 
  </bean>
   
  <!-- The transactionmanager to use for regular non JTA datasource -->
  <bean id="transactionManager"
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource">
      <ref local="dataSource"/>
    </property> 
  </bean>
   
  <!-- TransactionInterceptor -->
  <bean id="transactionInterceptor" 
    class="org.springframework.transaction.interceptor.TransactionInterceptor">
    <property name="transactionManager">
      <ref bean="transactionManager"/>
    </property>
    <property name="transactionAttributeSource">
      <value>
org.springframework.prospring.ticket.service.BoxOffice.get*=PROPAGATION_SUPPORTS,re
adOnly
org.springframework.prospring.ticket.service.BoxOffice.allocate*=PROPAGATION_REQUIR
ED
      </value>
    </property>
  </bean>  
   
  <!-- Transactional proxy for the primary business object -->
  <bean id="boxOffice" 
        class="org.springframework.aop.framework.ProxyFactoryBean">
    <property name="target">
      <ref local="boxOfficeTarget"/>
    </property>
    <property name="proxyInterfaces">
      <value>org.springframework.prospring.ticket.service.BoxOffice</value>
    </property>
    <property name="interceptorNames">
      <value>transactionInterceptor</value>
    </property>
  </bean>  
   
  <!-- Business Object -->
  <bean id="boxOfficeTarget" 
    class="org.springframework.prospring.ticket.service.BoxOfficeImpl">
    <property name="boxOfficeDao">
      <ref local="dao"/>
    </property> 
  </bean>

3銆佷嬌鐢═ransactionProxyFactoryBean閰嶇疆spring浜嬪姟
浠ヤ笅涓洪厤緗疄渚嬶細

  <!-- The DBCP DataSource -->
  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" 
        destroy-method="close">
    <property name="driverClassName">
      <value>${jdbc.driverClassName}</value>
    </property>
    <property name="url"><value>${jdbc.url}</value></property>
    <property name="username"><value>${jdbc.username}</value></property>
    <property name="password"><value>${jdbc.password}</value></property>
  </bean>
   
  <!-- The DAO class -->
  <bean id="dao"
class="org.springframework.prospring.ticket.dao.jdbc.JdbcBoxOfficeDao">
    <property name="dataSource">
      <ref local="dataSource"/>
    </property> 
  </bean>
   
  <!-- The transactionmanager to use for regular non JTA datasource -->
  <bean id="transactionManager"
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource">
      <ref local="dataSource"/>
    </property> 
  </bean>
   
  <!-- Transactional proxy and the primary business object -->
  <bean id="boxOffice" 
   class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
    <property name="transactionManager"><ref bean="transactionManager"/></property>
    <property name="target">
      <bean class="org.springframework.prospring.ticket.service.BoxOfficeImpl">
        <property name="boxOfficeDao">
          <ref local="dao"/>
        </property> 
      </bean>
    </property>
    <property name="transactionAttributes">
      <props>
        <prop key="get*">PROPAGATION_SUPPORTS,readOnly</prop>
        <prop key="allocate*">PROPAGATION_REQUIRED</prop>
      </props>
    </property>
  </bean>  

4銆佷嬌鐢˙eanNameAutoProxyCreator閰嶇疆spring浜嬪姟
濡傛灉鏈夊ぇ閲忕殑bean闇瑕佷嬌鐢ㄤ簨鐗╋紝閭d箞鍙鍦ㄩ厤緗枃浠朵腑鎻愪緵bean name緇橞eanNameAutoProxyCreator錛宻pring灝變細涓粰璇ean鎻愪緵浜嬪姟浠g悊錛岄厤緗疄渚嬪涓嬶細

  <!-- The DBCP DataSource -->
  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" 
      destroy-method="close">
    <property name="driverClassName">
      <value>${jdbc.driverClassName}</value>
    </property>
    <property name="url"><value>${jdbc.url}</value></property>
    <property name="username"><value>${jdbc.username}</value></property>
    <property name="password"><value>${jdbc.password}</value></property>
  </bean>
   
  <!-- The DAO class -->
  <bean id="dao"
class="org.springframework.prospring.ticket.dao.jdbc.JdbcBoxOfficeDao">
    <property name="dataSource">
      <ref local="dataSource"/>
    </property> 
  </bean>
   
  <!-- The transactionmanager to use for regular non JTA datasource -->
  <bean id="transactionManager"
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource">
      <ref local="dataSource"/>
    </property> 
  </bean> 
   
  <!-- TransactionInterceptor -->
  <bean id="transactionInterceptor" 
        class="org.springframework.transaction.interceptor.TransactionInterceptor">
    <property name="transactionManager">
      <ref bean="transactionManager"/>
    </property>
    <property name="transactionAttributeSource">
      <value>
org.springframework.prospring.ticket.service.BoxOffice.get*=PROPAGATION_SUPPORTS
,readOnly
org.springframework.prospring.ticket.service.BoxOffice.allocate*=
PROPAGATION_REQUIRED
      </value>
    </property>
  </bean>  
   
  <!-- BeanNameAutoProxyCreator -->
<bean id="autoProxyCreator" 
   class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
  <property name="interceptorNames">
    <value>transactionInterceptor</value>
  </property>
  <property name="beanNames">
    <list>
      <idref local="boxOffice"/>
    </list>
  </property>
</bean>  
   
<!-- Business Object -->
<bean id="boxOffice"
   class="org.springframework.prospring.ticket.service.BoxOfficeImpl">
  <property name="boxOfficeDao">
    <ref local="dao"/>
  </property> 
</bean>


]]>
主站蜘蛛池模板: 最近中文字幕mv免费高清电影| 69式国产真人免费视频 | www成人免费视频| 国产免费观看网站| 菠萝菠萝蜜在线免费视频| 永久黄网站色视频免费直播 | 亚洲日韩涩涩成人午夜私人影院| 深夜福利在线免费观看| 国产美女精品视频免费观看| 风间由美在线亚洲一区| 亚洲精品偷拍视频免费观看| 一级人做人a爰免费视频| 国产亚洲色婷婷久久99精品| 无码精品人妻一区二区三区免费看| 久久亚洲AV成人无码| 无人影院手机版在线观看免费| 亚洲国产午夜精品理论片在线播放| 成人免费无码精品国产电影| 欧洲美女大片免费播放器视频| 亚洲国产精品无码AAA片| 永久免费在线观看视频| 亚洲熟妇无码八V在线播放| 国产一级大片免费看| 99久久免费国产特黄| 亚洲成人黄色在线| 韩国欧洲一级毛片免费| 中文字幕不卡免费视频| 亚洲网站视频在线观看| 国产精品麻豆免费版| 男女一边摸一边做爽的免费视频| 久久水蜜桃亚洲av无码精品麻豆| 成年在线网站免费观看无广告 | 美女露100%胸无遮挡免费观看| 亚洲国产成人爱av在线播放| 一级毛片免费视频| 亚洲精品无码av片| 久久亚洲精品成人777大小说| 国产成人免费网站| 中文在线观看免费网站| 亚洲成av人片在www鸭子| 国产精一品亚洲二区在线播放|