Merge branch 'stable-2.12' into stable-2.13

* stable-2.12:
  Fix DB connection pool verification

Change-Id: Ia1ed831c7db397253d8b842e6fb69076898c5c4f
This commit is contained in:
Hugo Arès
2016-11-25 15:18:44 -05:00
6 changed files with 25 additions and 0 deletions

View File

@@ -21,6 +21,7 @@ import java.io.InputStream;
public abstract class BaseDataSourceType implements DataSourceType {
private static final String DEFAULT_VALIDATION_QUERY = "select 1";
private final String driver;
protected BaseDataSourceType(String driver) {
@@ -37,6 +38,11 @@ public abstract class BaseDataSourceType implements DataSourceType {
return true;
}
@Override
public String getValidationQuery() {
return DEFAULT_VALIDATION_QUERY;
}
@Override
public ScriptRunner getIndexScript() throws IOException {
return getScriptRunner("index_generic.sql");

View File

@@ -43,4 +43,9 @@ public class DB2 extends BaseDataSourceType {
b.append(dbc.required("database"));
return b.toString();
}
@Override
public String getValidationQuery() {
return "SELECT 1 FROM SYSIBM.SYSDUMMY1";
}
}

View File

@@ -137,6 +137,8 @@ public class DataSourceProvider implements Provider<DataSource>,
ds.setMaxWait(ConfigUtil.getTimeUnit(cfg, "database", null,
"poolmaxwait", MILLISECONDS.convert(30, SECONDS), MILLISECONDS));
ds.setInitialSize(ds.getMinIdle());
ds.setValidationQuery(dst.getValidationQuery());
ds.setValidationQueryTimeout(5);
exportPoolMetrics(ds);
return intercept(interceptor, ds);

View File

@@ -24,6 +24,8 @@ public interface DataSourceType {
String getUrl();
String getValidationQuery();
boolean usePool();
/**

View File

@@ -41,4 +41,9 @@ class Derby extends BaseDataSourceType {
}
return "jdbc:derby:" + site.resolve(database).toString() + ";create=true";
}
@Override
public String getValidationQuery() {
return "values 1";
}
}

View File

@@ -43,4 +43,9 @@ public class Oracle extends BaseDataSourceType {
b.append(dbc.required("instance"));
return b.toString();
}
@Override
public String getValidationQuery() {
return "select 1 from dual";
}
}