11package com .example .Jinus .service ;
22
3- import ch .qos .logback .classic .Logger ;
43import lombok .RequiredArgsConstructor ;
54import org .slf4j .LoggerFactory ;
5+ import org .springframework .boot .autoconfigure .condition .ConditionalOnProperty ;
66import org .springframework .context .event .ContextRefreshedEvent ;
77import org .springframework .http .ResponseEntity ;
88import org .springframework .scheduling .annotation .Scheduled ;
1313import org .springframework .web .servlet .mvc .method .RequestMappingInfo ;
1414import org .springframework .web .servlet .mvc .method .annotation .RequestMappingHandlerMapping ;
1515
16- import java .util .HashMap ;
1716import java .util .Map ;
1817import java .util .Set ;
1918
2019@ Component
2120@ RequiredArgsConstructor
21+ @ ConditionalOnProperty (name = "warmup.enabled" , havingValue = "true" )
2222public class WarmUpService {
2323 private static final org .slf4j .Logger logger = LoggerFactory .getLogger (WarmUpService .class );
2424 private final RequestMappingHandlerMapping requestMappingHandlerMapping ;
@@ -33,6 +33,7 @@ public void onApplicationEvent(ContextRefreshedEvent event) {
3333 }
3434
3535 @ Scheduled (fixedDelayString = "${warmup.delay:3600000}" )
36+ @ ConditionalOnProperty (name = "warmup.scheduled.enabled" , havingValue = "true" )
3637 public void warmUpEndpoints () {
3738 logger .info ("Starting warm-up process..." );
3839 RestTemplate restTemplate = new RestTemplate ();
@@ -59,7 +60,9 @@ public void warmUpEndpoints() {
5960 if (methods .contains (RequestMethod .POST )) {
6061 String url = baseUrl + pattern ;
6162 try {
62- logger .info ("{}" , url );
63+ logger .debug ("Warming up endpoint: {} {}" , RequestMethod .POST , url );
64+ ResponseEntity <String > response = restTemplate .getForEntity (url , String .class );
65+ logger .debug ("Warm-up response status: {}" , response .getStatusCode ());
6366 } catch (Exception e ) {
6467 logger .warn ("Failed to warm up endpoint: {} - {}" , url , e .getMessage ());
6568 }
0 commit comments