diff --git a/spring-modulith-events/spring-modulith-events-jdbc/src/main/java/org/springframework/modulith/events/jdbc/JdbcEventPublicationAutoConfiguration.java b/spring-modulith-events/spring-modulith-events-jdbc/src/main/java/org/springframework/modulith/events/jdbc/JdbcEventPublicationAutoConfiguration.java index 0329d240..03869937 100644 --- a/spring-modulith-events/spring-modulith-events-jdbc/src/main/java/org/springframework/modulith/events/jdbc/JdbcEventPublicationAutoConfiguration.java +++ b/spring-modulith-events/spring-modulith-events-jdbc/src/main/java/org/springframework/modulith/events/jdbc/JdbcEventPublicationAutoConfiguration.java @@ -15,20 +15,13 @@ */ package org.springframework.modulith.events.jdbc; -import java.util.List; - import javax.sql.DataSource; -import org.springframework.boot.autoconfigure.condition.ConditionOutcome; -import org.springframework.boot.autoconfigure.condition.SpringBootCondition; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.jdbc.DatabaseDriver; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ConditionContext; -import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; -import org.springframework.core.env.Environment; import org.springframework.core.io.ResourceLoader; -import org.springframework.core.type.AnnotatedTypeMetadata; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.modulith.events.EventSerializer; import org.springframework.modulith.events.config.EventPublicationConfigurationExtension; @@ -54,39 +47,10 @@ class JdbcEventPublicationAutoConfiguration implements EventPublicationConfigura } @Bean - @Conditional(SchemaInitializationEnabled.class) + @ConditionalOnProperty(name = "spring.modulith.events.jdbc.schema-initialization.enabled", havingValue = "true") DatabaseSchemaInitializer databaseSchemaInitializer(JdbcTemplate jdbcTemplate, ResourceLoader resourceLoader, DatabaseType databaseType) { return new DatabaseSchemaInitializer(jdbcTemplate, resourceLoader, databaseType); } - - /** - * Combined condition to support the legacy schema initialization property as well as the new one. - * - * @author Oliver Drotbohm - */ - static class SchemaInitializationEnabled extends SpringBootCondition { - - private static final String LEGACY = "spring.modulith.events.jdbc-schema-initialization.enabled"; - private static final String CURRENT = "spring.modulith.events.jdbc.schema-initialization.enabled"; - - /* - * (non-Javadoc) - * @see org.springframework.boot.autoconfigure.condition.SpringBootCondition#getMatchOutcome(org.springframework.context.annotation.ConditionContext, org.springframework.core.type.AnnotatedTypeMetadata) - */ - @Override - public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeMetadata metadata) { - - Environment environment = context.getEnvironment(); - - var enabled = List.of(CURRENT, LEGACY).stream() - .map(it -> environment.getProperty(it, Boolean.class)) - .anyMatch(Boolean.TRUE::equals); - - return enabled // - ? ConditionOutcome.match("Schema initialization explicitly enabled.") // - : ConditionOutcome.noMatch("Schema initialization disabled by default."); - } - } } diff --git a/spring-modulith-events/spring-modulith-events-jdbc/src/test/java/org/springframework/modulith/events/jdbc/JdbcEventPublicationAutoConfigurationIntegrationTests.java b/spring-modulith-events/spring-modulith-events-jdbc/src/test/java/org/springframework/modulith/events/jdbc/JdbcEventPublicationAutoConfigurationIntegrationTests.java index e1966db9..4bc9b698 100644 --- a/spring-modulith-events/spring-modulith-events-jdbc/src/test/java/org/springframework/modulith/events/jdbc/JdbcEventPublicationAutoConfigurationIntegrationTests.java +++ b/spring-modulith-events/spring-modulith-events-jdbc/src/test/java/org/springframework/modulith/events/jdbc/JdbcEventPublicationAutoConfigurationIntegrationTests.java @@ -33,7 +33,7 @@ import org.springframework.modulith.testapp.TestApplication; */ @SpringBootTest( classes = TestApplication.class, - properties = "spring.modulith.events.jdbc-schema-initialization.enabled=true") + properties = "spring.modulith.events.jdbc.schema-initialization.enabled=true") class JdbcEventPublicationAutoConfigurationIntegrationTests { @Autowired ApplicationContext context;