@Inject
protected JdbcEventLogger jdbcEventLogger;
public DataSource getDataSource(DataNodeDescriptor nodeDescriptor) throws Exception {
DataSourceInfo dataSourceDescriptor = nodeDescriptor.getDataSourceDescriptor();
if (dataSourceDescriptor == null) {
String message = "Null dataSourceDescriptor for nodeDescriptor '"
+ nodeDescriptor.getName()
+ "'";
logger.info(message);
throw new ConfigurationException(message);
}
try {
return new PoolManager(
dataSourceDescriptor.getJdbcDriver(),
dataSourceDescriptor.getDataSourceUrl(),
dataSourceDescriptor.getMinConnections(),
dataSourceDescriptor.getMaxConnections(),
dataSourceDescriptor.getUserName(),
dataSourceDescriptor.getPassword(),
jdbcEventLogger);
}
catch (Exception e) {
jdbcEventLogger.logConnectFailure(e);
throw e;