Sobes.tech
Назад к вопросам
Junior — Middle
61

Каким образом реализовать выполнение повторяющихся запросов к базе данных с определенной периодичностью?

Компании, где спрашивали
Северсталь-ИфокомСеверсталь-Ифоком

Ответ от нейросети

sobes.tech AI

Для выполнения повторяющихся запросов к базе данных с определённой периодичностью в Java можно использовать несколько подходов:

  1. ScheduledExecutorService — встроенный планировщик задач в Java:
import java.util.concurrent.*;

ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);

Runnable task = () -> {
    // Логика запроса к базе данных
    System.out.println("Выполнение запроса к БД");
};

// Запуск задачи с задержкой 0 и повторением каждые 10 секунд
scheduler.scheduleAtFixedRate(task, 0, 10, TimeUnit.SECONDS);
  1. Timer и TimerTask — более старый способ, но менее гибкий.

  2. Фреймворки (например, Spring) предоставляют аннотации @Scheduled для упрощения.

Важно также обрабатывать исключения внутри задачи, чтобы планировщик не останавливался при ошибках.