Handle username and password settings, treat the DriverDataSource like other datasources.

pull/60/head
Brett Wooldridge 11 years ago
parent 14d72a2b29
commit 783bb5ae29

@ -34,6 +34,7 @@ import com.zaxxer.hikari.proxy.IHikariConnectionProxy;
import com.zaxxer.hikari.proxy.ProxyFactory;
import com.zaxxer.hikari.util.ConcurrentBag;
import com.zaxxer.hikari.util.ConcurrentBag.IBagStateListener;
import com.zaxxer.hikari.util.DriverDataSource;
import com.zaxxer.hikari.util.PropertyBeanSetter;
/**
@ -71,7 +72,7 @@ public final class HikariPool implements HikariPoolMBean, IBagStateListener
HikariPool(HikariConfig configuration)
{
this(configuration, null, null);
this(configuration, configuration.getUsername(), configuration.getPassword());
}
/**
@ -456,9 +457,9 @@ public final class HikariPool implements HikariPoolMBean, IBagStateListener
private DataSource initializeDataSource()
{
if (configuration.getDataSource() == null)
String dsClassName = configuration.getDataSourceClassName();
if (configuration.getDataSource() == null && dsClassName != null)
{
String dsClassName = configuration.getDataSourceClassName();
try
{
Class<?> clazz = this.getClass().getClassLoader().loadClass(dsClassName);
@ -471,6 +472,10 @@ public final class HikariPool implements HikariPoolMBean, IBagStateListener
throw new RuntimeException("Could not create datasource instance: " + dsClassName, e);
}
}
else if (configuration.getJdbcUrl() != null)
{
return new DriverDataSource(configuration.getJdbcUrl(), configuration.getDataSourceProperties(), username, password);
}
return configuration.getDataSource();
}

Loading…
Cancel
Save