Пишу Spring-приложение: обычный Web-сервер, получает данные из базы — рисует HTML-странички. Возникла необходимость реализации нескольких вспомогательных задач, таких как загрузка данных из дампа базы. Раньше в основном разрабатывал на Ruby on Rails и там для задач использовался rake
, например, для миграции базы данных нужно было зайти в проект с приложением и набрать rake db:migrate
.
Как нечто похожее принято реализовывать в типовом Java-приложении на Spring? На мой взгляд логично было бы передавать параметры при запуске jar-ки, например, если я запускаю приложение без параметров (java -jar myapp.jar
), то поднимается Web-сервер, а если с каким-то параметром (java -jar myapp.jar import-dump db.dump
), то запускается вспомогательная задача, отрабатывает и завершает проецсс. Или в Spring-приложениях принято делать как-то по-другому?