Spring ConnectionHolder
来源:互联网 发布:淘宝上的轮毂能买吗 编辑:程序博客网 时间:2024/05/21 22:48
Spring中的DataSource 事务。
DataSource事务相关的类比较多,我们一步步来拨开其中的密团。
1 如何获得连接
看DataSourceUtils代码
java代码:
protected static Connection doGetConnection(DataSource dataSource, boolean allowSynchronization)
throws SQLException {
ConnectionHolder conHolder = (ConnectionHolder) TransactionSynchronizationManager.getResource(dataSource);
if (conHolder != null) {
conHolder.requested();
return conHolder.getConnection();
}
Connection con = dataSource.getConnection();
if (allowSynchronization && TransactionSynchronizationManager.isSynchronizationActive()) {
conHolder = new ConnectionHolder(con);
TransactionSynchronizationManager.bindResource(dataSource, conHolder);
DataSource事务相关的类比较多,我们一步步来拨开其中的密团。
1 如何获得连接
看DataSourceUtils代码
java代码:
protected static Connection doGetConnection(DataSource dataSource, boolean allowSynchronization)