Commit 2ca20248 authored by Stephane Nicoll's avatar Stephane Nicoll

Merge pull request #20367 from izeye

* pr/20367:
  Polish DataSourceHealthIndicator

Closes gh-20367
parents de062b4f bd08b4d9
...@@ -105,24 +105,16 @@ public class DataSourceHealthIndicator extends AbstractHealthIndicator implement ...@@ -105,24 +105,16 @@ public class DataSourceHealthIndicator extends AbstractHealthIndicator implement
builder.up().withDetail("database", getProduct()); builder.up().withDetail("database", getProduct());
String validationQuery = this.query; String validationQuery = this.query;
if (StringUtils.hasText(validationQuery)) { if (StringUtils.hasText(validationQuery)) {
try { builder.withDetail("validationQuery", validationQuery);
// Avoid calling getObject as it breaks MySQL on Java 7 // Avoid calling getObject as it breaks MySQL on Java 7 and later
List<Object> results = this.jdbcTemplate.query(validationQuery, new SingleColumnRowMapper()); List<Object> results = this.jdbcTemplate.query(validationQuery, new SingleColumnRowMapper());
Object result = DataAccessUtils.requiredSingleResult(results); Object result = DataAccessUtils.requiredSingleResult(results);
builder.withDetail("result", result); builder.withDetail("result", result);
}
finally {
builder.withDetail("validationQuery", validationQuery);
}
} }
else { else {
try { builder.withDetail("validationQuery", "isValid()");
boolean valid = isConnectionValid(); boolean valid = isConnectionValid();
builder.status((valid) ? Status.UP : Status.DOWN); builder.status((valid) ? Status.UP : Status.DOWN);
}
finally {
builder.withDetail("validationQuery", "isValid()");
}
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment