Skip to content
This repository was archived by the owner on Sep 1, 2023. It is now read-only.

Commit 5bb33c2

Browse files
GH-34 - Use isMetricsEnabled.
That API is present since 4.0.0 and it is safe to use across the board and much better than exception-driven-development.
1 parent 9b33659 commit 5bb33c2

File tree

4 files changed

+3
-31
lines changed

4 files changed

+3
-31
lines changed

neo4j-java-driver-spring-boot-autoconfigure/src/main/java/org/neo4j/driver/springframework/boot/actuate/Neo4jDriverMetrics.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import org.neo4j.driver.ConnectionPoolMetrics;
3131
import org.neo4j.driver.Driver;
3232
import org.neo4j.driver.Metrics;
33-
import org.neo4j.driver.exceptions.ClientException;
3433
import org.springframework.util.Assert;
3534

3635
/**
@@ -113,18 +112,4 @@ Consumer<ConnectionPoolMetrics> getPoolMetricsBinder(MeterRegistry meterRegistry
113112
.register(meterRegistry);
114113
};
115114
}
116-
117-
/**
118-
* @param driver The driver instance beans to check whether it has metrics enabled.
119-
* @return True, if the given bean exposes metrics
120-
*/
121-
public static boolean metricsAreEnabled(Driver driver) {
122-
123-
try {
124-
driver.metrics();
125-
return true;
126-
} catch (ClientException e) {
127-
return false;
128-
}
129-
}
130115
}

neo4j-java-driver-spring-boot-autoconfigure/src/main/java/org/neo4j/driver/springframework/boot/autoconfigure/Neo4jDriverMetricsAutoConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public class Neo4jDriverMetricsAutoConfiguration {
6161
public void bindDataSourcesToRegistry(Map<String, Driver> drivers, MeterRegistry registry) {
6262

6363
drivers.forEach((name, driver) -> {
64-
if (!Neo4jDriverMetrics.metricsAreEnabled(driver)) {
64+
if (!driver.isMetricsEnabled()) {
6565
return;
6666
}
6767
driver

neo4j-java-driver-spring-boot-autoconfigure/src/test/java/org/neo4j/driver/springframework/boot/actuate/Neo4jDriverMetricsTest.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,27 +27,12 @@
2727
import java.util.Collections;
2828

2929
import org.junit.jupiter.api.Test;
30-
import org.neo4j.driver.Driver;
3130

3231
/**
3332
* @author Michael J. Simons
3433
*/
3534
class Neo4jDriverMetricsTest {
3635

37-
@Test
38-
void shouldDetectEnabledMetrics() {
39-
40-
Driver driver = mockDriverWithMetrics();
41-
assertThat(Neo4jDriverMetrics.metricsAreEnabled(driver)).isTrue();
42-
}
43-
44-
@Test
45-
void shouldDetectDisabledMetrics() {
46-
47-
Driver driver = mockDriverWithoutMetrics();
48-
assertThat(Neo4jDriverMetrics.metricsAreEnabled(driver)).isFalse();
49-
}
50-
5136
@Test
5237
void shouldRegisterCorrectMeters() {
5338

neo4j-java-driver-spring-boot-autoconfigure/src/test/java/org/neo4j/driver/springframework/boot/test/Neo4jDriverMocks.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ public static Driver mockDriverWithMetrics() {
4444

4545
Driver driver = mock(Driver.class);
4646
when(driver.metrics()).thenReturn(metrics);
47+
when(driver.isMetricsEnabled()).thenReturn(true);
4748

4849
when(driver.verifyConnectivityAsync()).thenReturn(CompletableFuture.completedFuture(null));
4950

@@ -54,6 +55,7 @@ public static Driver mockDriverWithoutMetrics() {
5455

5556
Driver driver = mock(Driver.class);
5657
when(driver.metrics()).thenThrow(ClientException.class);
58+
when(driver.isMetricsEnabled()).thenReturn(false);
5759
return driver;
5860
}
5961

0 commit comments

Comments
 (0)