Spring Boot furnizează un motor robust de programare automată a sarcinilor (task scheduling) inclus nativ în pachetul de bază. Prin activarea @EnableScheduling pe o clasă de configurare, metodele marcate cu @Scheduled vor fi apelate la intervale regulate de către un scheduler intern.
Strategii principale de programare:
fixedRate = 5000: Execuție la fiecare 5 secunde, măsurată de la începutul fiecărui apel.fixedDelay = 5000: Execuție la 5 secunde după finalizarea execuției precedente.cron = "0 0 3 * * *": Expresii cron standardizate (de exemplu rulare în fiecare noapte la ora 03:00).
Exemplu: Task de curățare tabele temporare programat prin Cron
package ro.dexblog.demo.tasks;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
@Configuration
@EnableScheduling
class SchedulingConfig {}
@Component
public class DatabaseCleanupTask {
// Rulare în fiecare duminică la miezul nopții:
@Scheduled(cron = "0 0 0 * * SUN")
public void purgeExpiredSessions() {
System.out.println("[CRON TASK] Curățare sesiuni expirate executată la: " + java.time.LocalDateTime.now());
}
}
Întrebări & Exemple de Cod:
@Scheduled și @EnableScheduling în Spring BootAi o nelămurire despre utilizarea comenzii
@Scheduled și @EnableScheduling în Spring Bootsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.