@EventListener(ApplicationReadyEvent.class)
public void initDataBase() {
log.debug("Start initDataBase()");
long recordsCount= dsRepository.count();
if (recordsCount < 1) {
Здесь у меня при готовом контексте проверяется наличие данных в базе. Если кол-во записей меньше нуля, то лезем в сеть и выбираем все данные и сохраняем в свою базу, сейчас это около 17к строк в базе. При бесплатной базе это занимает времени около двух часов (если потери соединения не будет).