Prev Next

Spring / Spring Boot 4 Basics Interview Questions

How do you schedule tasks in Spring Boot 4 with @Scheduled?

Spring Boot 4 provides task scheduling via @EnableScheduling and @Scheduled annotations. In Boot 4, the auto-configuration for task scheduling supports multiple TaskDecorator beans, enabling better observability and context propagation.

// Enable scheduling:
@SpringBootApplication
@EnableScheduling
public class App { ... }

@Service
public class ReportScheduler {

    // Fixed rate: every 60 seconds (interval from start of last execution)
    @Scheduled(fixedRate = 60_000)
    public void generateHourlyMetrics() {
        metricsService.compute();
    }

    // Fixed delay: 30 seconds AFTER last execution completes
    @Scheduled(fixedDelay = 30_000)
    public void cleanExpiredSessions() {
        sessionService.evictExpired();
    }

    // Cron expression: every day at 2:30 AM
    @Scheduled(cron = "0 30 2 * * *")
    public void dailyReport() {
        reportService.generateDailyReport();
    }

    // Cron with zone:
    @Scheduled(cron = "0 0 8 * * MON-FRI", zone = "Europe/London")
    public void morningDigest() {
        digestService.send();
    }

    // Initial delay: wait 5s after startup before first run
    @Scheduled(initialDelay = 5_000, fixedRate = 60_000)
    public void warmUpCache() {
        cacheService.preload();
    }
}

# Cron syntax: second minute hour day-of-month month day-of-week
# "0 */5 * * * *"  = every 5 minutes
# "0 0 * * * *"    = every hour on the hour
# "0 0 9-17 * * MON-FRI" = every hour 9am-5pm Mon-Fri

# Spring Boot 4: multiple TaskDecorator beans supported
# (propagates MDC logging context and security context to scheduled threads)
@Bean
public TaskDecorator mdcTaskDecorator() {
    return runnable -> () -> {
        MDC.put("task", "scheduled");
        try { runnable.run(); } finally { MDC.clear(); }
    };
}

What is the difference between fixedRate and fixedDelay in @Scheduled?
What Spring Boot 4 improvement to task scheduling auto-configuration aids distributed tracing?

More Related questions...

What is Spring Boot 4 and when was it released? What is the complete modularisation of Spring Boot 4 and why does it matter? What is the Java version baseline in Spring Boot 4 and what Java features does it unlock? What is Jakarta EE 11 and what changes does it bring in Spring Boot 4? How does Spring Boot 4 auto-configuration work and what is the new @AutoConfiguration annotation? What is native API versioning in Spring Boot 4 and how do you use it? What are JSpecify nullability annotations in Spring Boot 4 and why are they important? What changed with Jackson in Spring Boot 4 and what are the migration considerations? What are @Retryable and @ConcurrencyLimit in Spring Boot 4 and how do they work? What are HTTP Service Clients in Spring Boot 4 and how do you define them? What are the key breaking changes removed in Spring Boot 4 that were deprecated in Boot 3? How does Spring Boot 4 handle dependency injection and what are the core stereotypes? What is Spring Boot's application.properties / application.yml and how does configuration work? What are Spring Boot profiles and how do you use them for environment-specific configuration? How does Spring Boot 4 testing work with @SpringBootTest and test slices? What is Spring Boot Actuator and what does it provide in Boot 4? How does Spring Boot 4 handle data access with Spring Data JPA? What is Spring Security in Spring Boot 4 and what are the key Boot 4 changes? What is the Spring Boot starter parent (POM) and how do you set up a Spring Boot 4 project? What is @SpringBootApplication and what does it combine? How do you build REST APIs with Spring Boot 4 using @RestController? How does Bean Validation work with Spring Boot 4? What is Spring Boot's embedded server and how do you configure it? What is Spring Boot's transaction management with @Transactional? What is Spring Boot's caching abstraction and how do you use it? What is Spring Boot's observability stack in Boot 4 with Micrometer and OpenTelemetry? How does Spring Boot 4 support GraalVM native images? What is Spring WebFlux and reactive programming in Spring Boot 4? What is Spring Boot's exception handling with @RestControllerAdvice? How do you use Spring Data MongoDB and other NoSQL stores in Spring Boot 4? How does Spring Boot 4 handle async processing with @Async? What is Spring Boot's externalized configuration with @Value and @ConfigurationProperties? What is Spring Boot's messaging support with Kafka in Boot 4? How do you schedule tasks in Spring Boot 4 with @Scheduled? What is Spring AI and how does it integrate with Spring Boot 4? How does Spring Boot 4 handle logging configuration? What is Spring Boot 4 migration from Boot 3: complete checklist and common pitfalls? What is Spring Boot DevTools and how does it improve development productivity? How does Spring Boot 4 support containerised deployments with Docker? What is the Spring Boot 4 vs Spring Boot 3 comparison and what are the key takeaways?
Show more question and Answers...


Comments & Discussions