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

Commit 98c2873

Browse files
Fix Neo4jDriverHealthIndicatorAutoConfiguration.
- Don’t try manually adding the health indicator for OGM, but run after Neo4jHealthIndicatorAutoConfiguration.class. - Also rename the configuration (See spring-projects/spring-boot#17963).
1 parent 588bb2c commit 98c2873

File tree

3 files changed

+19
-30
lines changed

3 files changed

+19
-30
lines changed

neo4j-java-driver-spring-boot-autoconfigure/src/main/java/org/neo4j/driver/springframework/boot/autoconfigure/Neo4jHealthIndicatorAutoConfiguration.java renamed to neo4j-java-driver-spring-boot-autoconfigure/src/main/java/org/neo4j/driver/springframework/boot/autoconfigure/Neo4jDriverHealthIndicatorAutoConfiguration.java

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,12 @@
2020

2121
import java.util.Map;
2222

23-
import org.neo4j.driver.v1.Driver;
2423
import org.neo4j.driver.springframework.boot.actuate.Neo4jHealthIndicator;
25-
26-
import org.neo4j.ogm.session.SessionFactory;
24+
import org.neo4j.driver.v1.Driver;
2725
import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthIndicatorConfiguration;
2826
import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator;
2927
import org.springframework.boot.actuate.autoconfigure.health.HealthIndicatorAutoConfiguration;
28+
import org.springframework.boot.actuate.autoconfigure.neo4j.Neo4jHealthIndicatorAutoConfiguration;
3029
import org.springframework.boot.actuate.health.Health;
3130
import org.springframework.boot.actuate.health.HealthIndicator;
3231
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
@@ -48,16 +47,15 @@
4847
* @soundtrack Iron Maiden - Somewhere In Time
4948
*/
5049
@Configuration
51-
@ConditionalOnClass({ Health.class })
50+
@ConditionalOnClass({ Health.class, Driver.class })
5251
@ConditionalOnEnabledHealthIndicator("neo4j")
53-
@AutoConfigureBefore({HealthIndicatorAutoConfiguration.class,
54-
org.springframework.boot.actuate.autoconfigure.neo4j.Neo4jHealthIndicatorAutoConfiguration.class})
55-
@AutoConfigureAfter({ Neo4jDriverAutoConfiguration.class, Neo4jDataAutoConfiguration.class })
52+
@ConditionalOnBean(Driver.class)
53+
@AutoConfigureBefore({ HealthIndicatorAutoConfiguration.class })
54+
@AutoConfigureAfter({ Neo4jDriverAutoConfiguration.class, Neo4jDataAutoConfiguration.class,
55+
Neo4jHealthIndicatorAutoConfiguration.class })
5656
@ConditionalOnMissingBean(name = "neo4jHealthIndicator")
57-
public class Neo4jHealthIndicatorAutoConfiguration {
57+
public class Neo4jDriverHealthIndicatorAutoConfiguration {
5858

59-
@ConditionalOnClass(Driver.class)
60-
@ConditionalOnBean(Driver.class)
6159
@Order(-20)
6260
static class Neo4jNeo4jHealthIndicatorConfiguration
6361
extends CompositeHealthIndicatorConfiguration<Neo4jHealthIndicator, Driver> {
@@ -68,17 +66,4 @@ HealthIndicator neo4jHealthIndicator(Map<String, Driver> drivers) {
6866
}
6967

7068
}
71-
72-
@ConditionalOnClass(SessionFactory.class)
73-
@ConditionalOnBean(SessionFactory.class)
74-
@Order(-10)
75-
static class Neo4jOgmHealthIndicatorConfiguration
76-
extends CompositeHealthIndicatorConfiguration<org.springframework.boot.actuate.neo4j.Neo4jHealthIndicator, SessionFactory> {
77-
78-
@Bean
79-
HealthIndicator neo4jHealthIndicator(Map<String, SessionFactory> sessionFactories) {
80-
return createHealthIndicator(sessionFactories);
81-
}
82-
83-
}
8469
}

neo4j-java-driver-spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@
1919

2020
org.springframework.boot.autoconfigure.EnableAutoConfiguration = \
2121
org.neo4j.driver.springframework.boot.autoconfigure.Neo4jDriverAutoConfiguration,\
22-
org.neo4j.driver.springframework.boot.autoconfigure.Neo4jHealthIndicatorAutoConfiguration
22+
org.neo4j.driver.springframework.boot.autoconfigure.Neo4jDriverHealthIndicatorAutoConfiguration

neo4j-java-driver-spring-boot-autoconfigure/src/test/java/org/neo4j/driver/springframework/boot/autoconfigure/Neo4jHealthIndicatorAutoConfigurationTest.java renamed to neo4j-java-driver-spring-boot-autoconfigure/src/test/java/org/neo4j/driver/springframework/boot/autoconfigure/Neo4jDriverHealthIndicatorAutoConfigurationTest.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,14 @@
4141
/**
4242
* @author Michael J. Simons
4343
*/
44-
class Neo4jHealthIndicatorAutoConfigurationTest {
44+
class Neo4jDriverHealthIndicatorAutoConfigurationTest {
4545

4646
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
4747
.withConfiguration(
48-
AutoConfigurations.of(HealthIndicatorAutoConfiguration.class, Neo4jHealthIndicatorAutoConfiguration.class));
48+
AutoConfigurations.of(HealthIndicatorAutoConfiguration.class,
49+
Neo4jDriverHealthIndicatorAutoConfiguration.class,
50+
org.springframework.boot.actuate.autoconfigure.neo4j.Neo4jHealthIndicatorAutoConfiguration.class
51+
));
4952

5053
@Nested
5154
class NoMatches {
@@ -108,10 +111,11 @@ class Matches {
108111
void ogmHealthIndicatorShouldHavePrecedence() {
109112
contextRunner
110113
.withUserConfiguration(WithDriver.class, WithSessionFactory.class)
111-
.run(ctx -> assertThat(ctx)
112-
.doesNotHaveBean(Neo4jHealthIndicator.class)
113-
.hasSingleBean(org.springframework.boot.actuate.neo4j.Neo4jHealthIndicator.class)
114-
);
114+
.run(ctx -> {
115+
assertThat(ctx)
116+
.doesNotHaveBean(Neo4jHealthIndicator.class)
117+
.hasSingleBean(org.springframework.boot.actuate.neo4j.Neo4jHealthIndicator.class);
118+
});
115119
}
116120

117121
@Test

0 commit comments

Comments
 (0)