diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java index 79482d75f2..ca1a58d33f 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration.java @@ -156,13 +156,13 @@ public class FlywayAutoConfiguration { else { flyway.setDataSource(this.dataSource); } - if (this.flywayCallbacks.isEmpty()) { - flyway.setCallbacks(this.callbacks.toArray(new Callback[0])); - } - else { - if (this.callbacks.isEmpty()) { - flyway.setCallbacks( - this.flywayCallbacks.toArray(new FlywayCallback[0])); + if (!this.callbacks.isEmpty() || !this.flywayCallbacks.isEmpty()) { + if (this.flywayCallbacks.isEmpty()) { + flyway.setCallbacks(this.callbacks.toArray(new Callback[0])); + } + else if (this.callbacks.isEmpty()) { + flyway.setCallbacks( + this.flywayCallbacks.toArray(new FlywayCallback[0])); } else { throw new IllegalStateException(