top of page

How to Schedule Tasks in Spring ?




How to schedule a task?

The myScheduledTasks class is scheduled to run periodically or in a certain interval. It is a plain spring component. The @Scheduled annotation can be used on a method to define when it runs. In this case we want that the method is executed after a certain time interval. We call it a task. We also can configure the task to run after a certain delay once the task is executed or we can use a cron format. In this example the task will execute once in 86400000 millisecond or one day.

import org.springframework.schedulling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.inject.Inject;

public class myScheduledTasks {
   private AppInfo appinfo;

   @Scheduled(fixedrate = 86400000)
   public void print() {

What to execute?

Now we have learned how we can schedule a task but what will be executed when the task is started? For that reason I have injected the AppInfo class. Please read my another blog post to understand What the AppInfo class contains. The scheduled task that executes the print() method calls a print() method on the AppInfo object.

How to enable scheduling ?

In the spring boot applications file that contains the main method we annotate the class with @SpringBootApplication that makes the application a spring boot application. We need to annotate the same class to enable scheduling.

A comprehensive example on the same topic can be found on the guide.

Recent Posts

See All


bottom of page