使用spring管理DataSource事務管理,需要采用一個特定的編碼規范。需要以一個特殊的方式獲得連接資源或者會話資源,允許相關的 PlatformTransactionManager實現跟蹤連接的使用,并且當需要時應用事務管理。
不應該調用一個數據源的 getConnection()方法和Connection的close()方法,而必須使用Spring的 org.springframework.jdbc.datasource.DataSourceUtils類,如下:
Connection conn = DataSourceUtils.getConnection(dataSource);
.......................
DataSourceUtils.releaseConnection(conn, dataSource);
我就是調用了Connection conn = dataSource.getConnection();
................................
conn.close();
結果郁悶了兩天,一行代碼一天