add autocommit property
This commit is contained in:
parent
95543ec9c6
commit
35a058abe0
3 changed files with 11 additions and 3 deletions
|
@ -1,5 +1,5 @@
|
||||||
group = org.xbib
|
group = org.xbib
|
||||||
name = database
|
name = database
|
||||||
version = 1.4.0
|
version = 1.4.1
|
||||||
|
|
||||||
org.gradle.warning.mode = ALL
|
org.gradle.warning.mode = ALL
|
||||||
|
|
|
@ -940,7 +940,7 @@ public class Pool implements BagStateListener {
|
||||||
}
|
}
|
||||||
if (writeMethod == null) {
|
if (writeMethod == null) {
|
||||||
logger.log(Level.SEVERE, "property does not exist on target: " + propName + " " + target.getClass());
|
logger.log(Level.SEVERE, "property does not exist on target: " + propName + " " + target.getClass());
|
||||||
throw new RuntimeException(String.format("property %s does not exist on target %s", propName, target.getClass()));
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
Class<?> paramClass = writeMethod.getParameterTypes()[0];
|
Class<?> paramClass = writeMethod.getParameterTypes()[0];
|
||||||
|
@ -965,7 +965,6 @@ public class Pool implements BagStateListener {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.log(Level.WARNING, () ->
|
logger.log(Level.WARNING, () ->
|
||||||
MessageFormat.format("failed to set property {0} on target {1}", propName, target.getClass()));
|
MessageFormat.format("failed to set property {0} on target {1}", propName, target.getClass()));
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,8 @@ public class DriverDataSource implements DataSource {
|
||||||
|
|
||||||
private static final String USER = "user";
|
private static final String USER = "user";
|
||||||
|
|
||||||
|
private static final String AUTOCOMMIT = "autocommit";
|
||||||
|
|
||||||
private String jdbcUrl;
|
private String jdbcUrl;
|
||||||
|
|
||||||
private final Properties driverProperties;
|
private final Properties driverProperties;
|
||||||
|
@ -108,6 +110,13 @@ public class DriverDataSource implements DataSource {
|
||||||
driverProperties.put(PASSWORD, driverProperties.getProperty("password", password));
|
driverProperties.put(PASSWORD, driverProperties.getProperty("password", password));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setAutocommit(boolean enabled) {
|
||||||
|
String value = driverProperties.getProperty("autocommit", String.valueOf(enabled));
|
||||||
|
driverProperties.put(AUTOCOMMIT, value);
|
||||||
|
// Oracle
|
||||||
|
driverProperties.put("oracle.jdbc.autoCommitSpecCompliant", value);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Connection getConnection(final String username, final String password) throws SQLException {
|
public Connection getConnection(final String username, final String password) throws SQLException {
|
||||||
final Properties cloned = (Properties) driverProperties.clone();
|
final Properties cloned = (Properties) driverProperties.clone();
|
||||||
|
|
Loading…
Reference in a new issue