2015-01-31 3 views
0

Мы используем Spring и интегрируем Flyway в webapp, который использует DispatcherServlet и запускает поток базы данных.Использование Spring для миграции миграции Flyway перед запуском webapp

Как управлять потоком выполнения пружины, поэтому происходит миграция до он загорается? Задержка запуска DispatcherServlet и создание контроллера должны быть достаточными для наших целей.

ответ

0

То, что вы действительно хотите для пролетного пути для миграции базы данных перед вашей настойчивостью слоя появляется.

Поскольку ваши контроллеры уже зависят от этого уровня персистентности, теперь вам нужно заставить слой persistence зависеть от Flyway. Используя конфигурацию XML, это может быть достигнуто с использованием атрибута зависимости, описанного в official docs.

+0

Я не эксперт по весне, но я смотрел на dependOn, чтобы сделать это. На самом деле, я бы хотел, чтобы слой persistence был доступен во время миграции. – Joel

0

У вас может быть пролет на отдельном заводе для вашего весеннего материала MVC. Таким образом, вы можете заставить завод с пролетной дорогой и другой бизнес-логикой и т. Д. Полностью создаваться и выполняться до появления материала MVC.

Я бы порекомендовал вам разделить эти две проблемы на отдельные фабрики в любом случае, так как он отлично разделяет два контекста.

Одним из способов достижения этой цели является запуском бизнеса-логика/Пролетным путем завода с слушателем, который перед весенним MVC вещей ...

2

Вы можете попробовать Spring Загрузочного пролетной Службу поддержки http://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html

Я нету использовал его, но я надеюсь, что он запускает сценарии пролетного пути, прежде чем его «начинается» «реальным» приложение. (Если бы это не было совершенно бесполезно)