Как убедиться, что Flyway загружается до моего bean-компонента?

У меня есть приложение Spring Boot, в котором Bean загружает данные конфигурации из базы данных.

Прямо сейчас я настроил этот Bean в классе Configuration. Но, похоже, он загружается до Flyway.

Как убедиться, что Flyway завершил свою работу до того, как мои bean-компоненты будут загружены?


person yglodt    schedule 21.06.2016    source источник


Ответы (1)


Вы можете инициализировать его перед запуском приложения Spring Boot:

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        // Init Flyway here
        SpringApplication.run(Application.class, args);
    }
}

Второй вариант — использовать аннотацию @DependsOn для ваших bean-компонентов в зависимости от Flyway.

person luboskrnac    schedule 22.06.2016
comment
Возможно, я также могу сам создать компонент e Flyway в классе Config и сделать его @Ordered перед моими компонентами ...? - person yglodt; 22.06.2016
comment
Я обновил свой ответ. @Ordered похоже, используются для разных целей. - person luboskrnac; 22.06.2016
comment
Как ни странно, Flyway просто не выполнил автоматическую настройку в моем приложении. Теперь я создал компонент вручную и использовал @DependsOn(flyway) для своего компонента. - person yglodt; 23.06.2016