From b7b6e84d4b6daddaf5af5a2304fd45e3334111d8 Mon Sep 17 00:00:00 2001 From: Arthur Kalimullin Date: Sun, 19 Jul 2015 17:22:46 +0200 Subject: [PATCH] Add firebird specific health query Closes gh-3555 --- .../actuate/health/DataSourceHealthIndicator.java | 13 +++++++++++-- .../health/DataSourceHealthIndicatorTests.java | 2 ++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DataSourceHealthIndicator.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DataSourceHealthIndicator.java index ffe2c81a337..19835b60105 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DataSourceHealthIndicator.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DataSourceHealthIndicator.java @@ -203,13 +203,22 @@ public class DataSourceHealthIndicator extends AbstractHealthIndicator implement }, - INFORMIX("Informix Dynamic Server", "select count(*) from systables"); + INFORMIX("Informix Dynamic Server", "select count(*) from systables"), + + FIREBIRD("Firebird", "SELECT 1 FROM RDB$DATABASE") { + + @Override + protected boolean matchesProduct(String product) { + return super.matchesProduct(product) + || product.toLowerCase().startsWith("firebird"); + } + }; private final String product; private final String query; - private Product(String product, String query) { + Product(String product, String query) { this.product = product; this.query = query; } diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/DataSourceHealthIndicatorTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/DataSourceHealthIndicatorTests.java index 40d65ff7d93..563382739b3 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/DataSourceHealthIndicatorTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/DataSourceHealthIndicatorTests.java @@ -110,6 +110,8 @@ public class DataSourceHealthIndicatorTests { assertThat(Product.forProduct("DB2/LINUXX8664"), equalTo(Product.DB2)); assertThat(Product.forProduct("Informix Dynamic Server"), equalTo(Product.INFORMIX)); + assertThat(Product.forProduct("Firebird 2.5.WI"), equalTo(Product.FIREBIRD)); + assertThat(Product.forProduct("Firebird 2.1.LI"), equalTo(Product.FIREBIRD)); } }