读书人

Spring Transaction 2: 编程式式事务管

发布时间: 2012-11-05 09:35:12 作者: rapoo

Spring Transaction 二: 编程式式事务管理
编程式式事务管理

1. 使用PlatformTransactionManager

import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.TransactionDefinition;import org.springframework.transaction.TransactionStatus;import org.springframework.transaction.support.DefaultTransactionDefinition;public class Test4 {private PlatformTransactionManager transactionManager;public void setTransactionManager(PlatformTransactionManager stransactionManager){this.transactionManager=stransactionManager;}public void doUpdate() throws Throwable {// TODO Auto-generated method stubTransactionDefinition transactionDefinition=new DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRED);TransactionStatus transactionStatus=this.transactionManager.getTransaction(transactionDefinition);try{System.out.println("do some thing");this.transactionManager.commit(transactionStatus);}catch(Throwable t){    this.transactionManager.rollback(transactionStatus);    throw t;}}}



2. 如果系统的几个地方都使用编程式事务管理, 使用事务的模板方式


import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.TransactionDefinition;import org.springframework.transaction.TransactionStatus;import org.springframework.transaction.support.DefaultTransactionDefinition;import org.springframework.transaction.support.TransactionCallbackWithoutResult;import org.springframework.transaction.support.TransactionTemplate;public class Test5 {    private TransactionTemplate transactionTemplate;public void setTransactionManager(PlatformTransactionManager stransactionManager){this.transactionTemplate=new TransactionTemplate(stransactionManager);}public void doUpdate() throws Throwable {// TODO Auto-generated method stubthis.transactionTemplate.execute(new TransactionCallbackWithoutResult(){protected void doInTransactionWithoutResult(TransactionStatus status){  System.out.println("do something");}});}}


读书人网 >编程

热点推荐