WEB开发网
开发学院WEB开发Jsp 如何在SPRING中实现事务暂停 阅读

如何在SPRING中实现事务暂停

 2008-01-05 09:33:27 来源:WEB开发网   
核心提示:摘要 SPRing框架是一个流行的基于轻量级控制反转容器的java/J2EE应用框架,尤其在数据访问和事务治理方面的能力是众所周知的,如何在SPRING中实现事务暂停,Spring的声明性事务分离可以应用到任何POJO目标对象,并且包含所有EJB基于容器治理事务中的已声明事务,这也显示了Spring的事务服务可以无缝地

摘要


 


SPRing框架是一个流行的基于轻量级控制反转容器的java/J2EE应用框架,尤其在数据访问和事务治理方面的能力是众所周知的。Spring的声明性事务分离可以应用到任何POJO目标对象,并且包含所有EJB基于容器治理事务中的已声明事务。后台的事务治理器支持简单的基于JDBC的事务和全功能的基于JTA的J2EE事务。


 


这篇文章具体的讨论了Spring的事务治理特性。重点是如何在使用JTA作为后台事务策略的基础上让POJO利用Spring的声明性事务,这也显示了Spring的事务服务可以无缝地与J2EE服务器(如BEA WebLogic Server的事务协调器)的事务协调器进行交互,作为EJB CMT传统事务分离方式的一个替代者。


 


POJO的声明性事务


 


作为Spring声明性事务分离方式的样例,让我们来看一下Spring的样例应用PetClinic的中心服务外观中的配置:


 


清单1:


 


<bean id="dataSource"
  class="org.springframework.jndi.JndiObjectFactoryBean">
   <property name="jndiName">
    <value>java:comp/env/jdbc/petclinic</value>
   </property>
</bean>

<bean id="transactionManager"
  class="org.springframework.transaction.jta.JtaTransactionManager"/>

<bean id="clinicTarget"
  class="org.springframework.samples.petclinic.jdbc.JdbcClinic">
  <property name="dataSource"><ref bean="dataSource"/></property>
</bean>

<bean id="clinic"
  class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  <property name="transactionManager"><ref bean="transactionManager"/></property>
  <property name="target"><ref bean="clinicTarget"/></property>
  <property name="transactionAttributes">
    <props>
      <prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
      <prop key="store*">PROPAGATION_REQUIRED</prop>
    </props>
  </property>
</bean>



Tags:如何 SPRING 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接