主要測試內容是兩個執行緒同時對乙個表操作時,後乙個ccc類中的select之後commit,是否會對aaa類的insert操作rollback產生影響。測試結果是互不影響。
spring xml 配置檔案:
<?xml version="1.0" encoding="utf-8"?>
"xmlns:xsi=""
xsi:schemalocation="
/spring-beans-3.0.xsd">
oracle.jdbc.driver.oracledriver
jdbc:oracle:thin:@192.168.0.203:1521:orcl
yqzl
yqzl
aaa類:
package com.test;
import org.springframework.jdbc.core.jdbctemplate;
import org.springframework.jdbc.datasource.datasourcetransactionmanager;
import org.springframework.transaction.transactionstatus;
import org.springframework.transaction.support.defaulttransactiondefinition;
public class aaa implements runnable
public void setjdbctemplate(jdbctemplate jdbctemplate)
public datasourcetransactionmanager gettransactionmanager()
public void settransactionmanager(
datasourcetransactionmanager transactionmanager)
public string lsl()
public void run() catch (interruptedexception e)
system.out.println("執行事務aaa"); } }
bbb 類
package com.test;
package com.test;
import org.springframework.jdbc.core.jdbctemplate;
import org.springframework.jdbc.datasource.datasourcetransactionmanager;
import org.springframework.transaction.transactionstatus;
import org.springframework.transaction.support.defaulttransactiondefinition;
public class ccc implements runnable
public void setjdbctemplate(jdbctemplate jdbctemplate)
public datasourcetransactionmanager gettransactionmanager()
public void settransactionmanager(
datasourcetransactionmanager transactionmanager)
public void run()
}
Spring 事務 事務控制
0 註解 autowire 自動注入 url url b 1 spring專案中事務手動回滾 b transactionaspectsupport.currenttransactionstatus setrollbackonly 或者丟擲異常 transactional rollbackfor pu...
spring 事務控制
事務配置 二 在service加try 導致事務不回滾 註明 一般service不要加 try public class userserviceimpl catch exception e 三 解決方案 方法1 在service不加try,方法2 在 catch語句中最後增加throw new ru...
Spring事務控制
用別名方法b代替 逆向 寫入商品明細 param orderid param invoiceamount transactional rollbackfor exception.class 寫入一條資料 用別名方法c代替 正向 寫入商品明細 param orderid param userid pa...