Java Spring Multiple Thread Check

Scenario How to know which stream is used in the application? Solution Use Thread.sleep import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @Slf4j @RestController @SpringBootApplication public class CheckThreadApplication { public static void main(String[] args) { SpringApplication.run(CheckThreadApplication.class); } @GetMapping("/trigger") public String trigger( @RequestParam("sleep") int sleep ) throws InterruptedException { log.info("THREAD START"); Thread.sleep(sleep); log.info("THREAD END"); return "SUCCESS"; } } Test Get API: GET http://localhost:8080/trigger?sleep=10000 #2025-04-17T23:10:18.536+09:00 INFO 41471 --- [springboot101] [io-8080-exec-15] o.h.s.A.CheckThreadApplication : THREAD END #2025-04-17T23:10:18.701+09:00 INFO 41471 --- [springboot101] [io-8080-exec-16] o.h.s.A.CheckThreadApplication : THREAD END #2025-04-17T23:10:18.888+09:00 INFO 41471 --- [springboot101] [io-8080-exec-17] o.h.s.A.CheckThreadApplication : THREAD END #2025-04-17T23:10:19.071+09:00 INFO 41471 --- [springboot101] [io-8080-exec-18] o.h.s.A.CheckThreadApplication : THREAD END #2025-04-17T23:10:19.247+09:00 INFO 41471 --- [springboot101] [io-8080-exec-19] o.h.s.A.CheckThreadApplication : THREAD END #2025-04-17T23:12:30.070+09:00 INFO 41471 --- [springboot101] [io-8080-exec-11] o.h.s.A.CheckThreadApplication : THREAD START #2025-04-17T23:12:30.549+09:00 INFO 41471 --- [springboot101] [io-8080-exec-12] o.h.s.A.CheckThreadApplication : THREAD START #2025-04-17T23:12:30.717+09:00 INFO 41471 --- [springboot101] [io-8080-exec-13] o.h.s.A.CheckThreadApplication : THREAD START #2025-04-17T23:12:30.890+09:00 INFO 41471 --- [springboot101] [io-8080-exec-14] o.h.s.A.CheckThreadApplication : THREAD START #2025-04-17T23:12:31.052+09:00 INFO 41471 --- [springboot101] [io-8080-exec-15] o.h.s.A.CheckThreadApplication : THREAD START #2025-04-17T23:12:31.214+09:00 INFO 41471 --- [springboot101] [io-8080-exec-16] o.h.s.A.CheckThreadApplication : THREAD START #2025-04-17T23:12:31.372+09:00 INFO 41471 --- [springboot101] [io-8080-exec-17] o.h.s.A.CheckThreadApplication : THREAD START #2025-04-17T23:12:31.521+09:00 INFO 41471 --- [springboot101] [io-8080-exec-18] o.h.s.A.CheckThreadApplication : THREAD START #2025-04-17T23:12:31.687+09:00 INFO 41471 --- [springboot101] [io-8080-exec-19] o.h.s.A.CheckThreadApplication : THREAD START ##2025-04-17T23:12:31.848+09:00 INFO 41471 --- [springboot101] [nio-8080-exec-1] o.h.s.A.CheckThreadApplication : THREAD START io-8080-exec-15: This is thread name

Apr 17, 2025 - 15:33
 0
Java Spring Multiple Thread Check

Scenario

How to know which stream is used in the application?

Solution

Use Thread.sleep


import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@Slf4j
@RestController
@SpringBootApplication
public class CheckThreadApplication {

    public static void main(String[] args) {
        SpringApplication.run(CheckThreadApplication.class);
    }

    @GetMapping("/trigger")
    public String trigger(
            @RequestParam("sleep") int sleep
    ) throws InterruptedException {
        log.info("THREAD START");
        Thread.sleep(sleep);
        log.info("THREAD END");
        return "SUCCESS";
    }
}

Test


#2025-04-17T23:10:18.536+09:00  INFO 41471 --- [springboot101] [io-8080-exec-15] o.h.s.A.CheckThreadApplication           : THREAD END
#2025-04-17T23:10:18.701+09:00  INFO 41471 --- [springboot101] [io-8080-exec-16] o.h.s.A.CheckThreadApplication           : THREAD END
#2025-04-17T23:10:18.888+09:00  INFO 41471 --- [springboot101] [io-8080-exec-17] o.h.s.A.CheckThreadApplication           : THREAD END
#2025-04-17T23:10:19.071+09:00  INFO 41471 --- [springboot101] [io-8080-exec-18] o.h.s.A.CheckThreadApplication           : THREAD END
#2025-04-17T23:10:19.247+09:00  INFO 41471 --- [springboot101] [io-8080-exec-19] o.h.s.A.CheckThreadApplication           : THREAD END
#2025-04-17T23:12:30.070+09:00  INFO 41471 --- [springboot101] [io-8080-exec-11] o.h.s.A.CheckThreadApplication           : THREAD START
#2025-04-17T23:12:30.549+09:00  INFO 41471 --- [springboot101] [io-8080-exec-12] o.h.s.A.CheckThreadApplication           : THREAD START
#2025-04-17T23:12:30.717+09:00  INFO 41471 --- [springboot101] [io-8080-exec-13] o.h.s.A.CheckThreadApplication           : THREAD START
#2025-04-17T23:12:30.890+09:00  INFO 41471 --- [springboot101] [io-8080-exec-14] o.h.s.A.CheckThreadApplication           : THREAD START
#2025-04-17T23:12:31.052+09:00  INFO 41471 --- [springboot101] [io-8080-exec-15] o.h.s.A.CheckThreadApplication           : THREAD START
#2025-04-17T23:12:31.214+09:00  INFO 41471 --- [springboot101] [io-8080-exec-16] o.h.s.A.CheckThreadApplication           : THREAD START
#2025-04-17T23:12:31.372+09:00  INFO 41471 --- [springboot101] [io-8080-exec-17] o.h.s.A.CheckThreadApplication           : THREAD START
#2025-04-17T23:12:31.521+09:00  INFO 41471 --- [springboot101] [io-8080-exec-18] o.h.s.A.CheckThreadApplication           : THREAD START
#2025-04-17T23:12:31.687+09:00  INFO 41471 --- [springboot101] [io-8080-exec-19] o.h.s.A.CheckThreadApplication           : THREAD START
##2025-04-17T23:12:31.848+09:00  INFO 41471 --- [springboot101] [nio-8080-exec-1] o.h.s.A.CheckThreadApplication           : THREAD START
  • io-8080-exec-15: This is thread name