Author: cbegin
Date: Sat Jan 23 22:28:27 2010
New Revision: 902502
URL: http://svn.apache.org/viewvc?rev=902502&view=rev
Log:
implemented ibatis 708 PooledDataSource does not support changing the isolation
level
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/PooledDataSource.java
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/UnpooledDataSource.java
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/PooledDataSource.java
URL:
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/PooledDataSource.java?rev=902502&r1=902501&r2=902502&view=diff
==============================================================================
---
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/PooledDataSource.java
(original)
+++
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/PooledDataSource.java
Sat Jan 23 22:28:27 2010
@@ -100,6 +100,12 @@
forceCloseAll();
}
+ public void setDefaultTransactionIsolationLevel(Integer
defaultTransactionIsolationLevel) {
+
dataSource.setDefaultTransactionIsolationLevel(defaultTransactionIsolationLevel);
+ forceCloseAll();
+ }
+
+
public void setDriverProperties(Properties driverProps) {
dataSource.setDriverProperties(driverProps);
forceCloseAll();
@@ -197,6 +203,10 @@
return dataSource.isAutoCommit();
}
+ public Integer getDefaultTransactionIsolationLevel() {
+ return dataSource.getDefaultTransactionIsolationLevel();
+ }
+
public Properties getDriverProperties() {
return dataSource.getDriverProperties();
}
Modified:
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/UnpooledDataSource.java
URL:
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/UnpooledDataSource.java?rev=902502&r1=902501&r2=902502&view=diff
==============================================================================
---
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/UnpooledDataSource.java
(original)
+++
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/UnpooledDataSource.java
Sat Jan 23 22:28:27 2010
@@ -20,6 +20,7 @@
private String password;
private boolean autoCommit;
+ private Integer defaultTransactionIsolationLevel;
public UnpooledDataSource() {
}
@@ -62,14 +63,14 @@
} else {
connection = DriverManager.getConnection(url, username, password);
}
- configureAutoCommit(connection);
+ configureConnection(connection);
return connection;
}
public Connection getConnection(String username, String password) throws
SQLException {
initializeDriver();
Connection connection = DriverManager.getConnection(url, username,
password);
- configureAutoCommit(connection);
+ configureConnection(connection);
return connection;
}
@@ -146,10 +147,21 @@
this.autoCommit = autoCommit;
}
- private void configureAutoCommit(Connection conn) throws SQLException {
+ public Integer getDefaultTransactionIsolationLevel() {
+ return defaultTransactionIsolationLevel;
+ }
+
+ public void setDefaultTransactionIsolationLevel(Integer
defaultTransactionIsolationLevel) {
+ this.defaultTransactionIsolationLevel = defaultTransactionIsolationLevel;
+ }
+
+ private void configureConnection(Connection conn) throws SQLException {
if (autoCommit != conn.getAutoCommit()) {
conn.setAutoCommit(autoCommit);
}
+ if (defaultTransactionIsolationLevel != null) {
+ conn.setTransactionIsolation(defaultTransactionIsolationLevel);
+ }
}
private synchronized void initializeDriver() {