Close

Spring - SimpleAsyncTaskScheduler Example

[Last Updated: Oct 28, 2025]

Spring introduced SimpleAsyncTaskScheduler in version 6.1, as a simple implementation of Spring's TaskScheduler interface, using a single scheduler thread and executing every scheduled task in an individual separate thread.

Example

package com.logicbig.example;

import org.springframework.scheduling.concurrent.SimpleAsyncTaskScheduler;

import java.time.Duration;
import java.time.LocalTime;
import java.time.temporal.ChronoUnit;

public class SimpleAsyncTaskSchedulerExample {

  public static void main(String[] args) throws InterruptedException {

      SimpleAsyncTaskScheduler scheduler = new SimpleAsyncTaskScheduler();

      scheduler.scheduleAtFixedRate(
              () -> System.out.printf("Thread: %s, Time: %s%n",
                      Thread.currentThread().getName(),
                      LocalTime.now())
              , Duration.of(1, ChronoUnit.SECONDS));

      Thread.sleep(10000);
     //Terminating after 10 seconds
      scheduler.close();
  }
}

Output

Thread: SimpleAsyncTaskScheduler-2, Time: 16:04:45.668219800
Thread: SimpleAsyncTaskScheduler-3, Time: 16:04:46.668389200
Thread: SimpleAsyncTaskScheduler-4, Time: 16:04:47.665468100
Thread: SimpleAsyncTaskScheduler-5, Time: 16:04:48.674775200
Thread: SimpleAsyncTaskScheduler-6, Time: 16:04:49.673371700
Thread: SimpleAsyncTaskScheduler-7, Time: 16:04:50.669166
Thread: SimpleAsyncTaskScheduler-8, Time: 16:04:51.667201800
Thread: SimpleAsyncTaskScheduler-9, Time: 16:04:52.677053600
Thread: SimpleAsyncTaskScheduler-10, Time: 16:04:53.671418100
Thread: SimpleAsyncTaskScheduler-11, Time: 16:04:54.665984700
Thread: SimpleAsyncTaskScheduler-12, Time: 16:04:55.679457700

Example Project

Dependencies and Technologies Used:

  • spring-context 6.2.12 (Spring Context)
     Version Compatibility: 6.1.0 - 6.2.12Version List
    ×

    Version compatibilities of spring-context with this example:

    • 6.1.0
    • 6.1.1
    • 6.1.2
    • 6.1.3
    • 6.1.4
    • 6.1.5
    • 6.1.6
    • 6.1.7
    • 6.1.8
    • 6.1.9
    • 6.1.10
    • 6.1.11
    • 6.1.12
    • 6.1.13
    • 6.1.14
    • 6.1.15
    • 6.1.16
    • 6.1.17
    • 6.1.18
    • 6.1.19
    • 6.1.20
    • 6.1.21
    • 6.2.0
    • 6.2.1
    • 6.2.2
    • 6.2.3
    • 6.2.4
    • 6.2.5
    • 6.2.6
    • 6.2.7
    • 6.2.8
    • 6.2.9
    • 6.2.10
    • 6.2.11
    • 6.2.12

    Versions in green have been tested.

  • JDK 25
  • Maven 3.9.11

SimpleAsyncTaskScheduler Example Select All Download
  • spring-core-simple-async-task-scheduler-example
    • src
      • main
        • java
          • com
            • logicbig
              • example
                • SimpleAsyncTaskSchedulerExample.java

    See Also