Лучший способ создать фоновый поток в Java
Каков наилучший способ создания фонового потока, который будет запускаться каждые 15 минут для получения данных из базы данных?
Ниже приведен код, который будет работать нормально, я думаю, в производстве, но есть ли какой-то другой способ лучше, чем у меня, или что-то, о чем я должен знать?
private static void checkDatabaseEveryXMinutes() {
new Thread() {
public void run() {
while (true) {
try {
Thread.sleep(checkingAfterEveryXMinutes);
getDataFromDatabase();
} catch (InterruptedException ex) {
//log here
} catch (Exception e) {
//log here
}
}
}
}.start();
}
Есть ли недостаток в использовании приведенного выше кода. И как ScheduledExecutorService сравнивается с TimerTask?
Какой способ лучше?
Любой пример базы на моем коде будет оценен по этому вопросу, если есть какой-либо лучший подход.