Najlepszy sposób na utworzenie wątku w tle w Javie
Jaki jest najlepszy sposób na utworzenie wątku w tle, który będzie uruchamiany co 15 minut, aby uzyskać dane z bazy danych?
Poniżej znajduję się kod, który będzie działał. Zgaduję, że w produkcji, ale czy jest inny sposób, który posiadam lub coś, o czym powinienem wiedzieć?
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();
}
Czy korzystanie z powyższego kodu jest niekorzystne? I jak porównuje ScheduledExecutorService z TimerTask?
Który sposób jest lepszy?
Każda przykładowa podstawa mojego kodu zostanie doceniona w tym przypadku, jeśli będzie jakieś lepsze podejście.