• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

스프링 웹 애플리케이션 실행 시 main 스레드 및 내장 톰캣

23.06.30 18:55 작성 23.07.04 07:48 수정 조회수 321

0

 

  1. 처음에 SpringApplication.run(UploadApplication.class, args); 실행하면

    main스레드에 의해서 스프링 컨테이너 및 웹서버 생성 등 작업을 완료하고 나면
    main 스레드는 listening 작업을 하나요? 어떤 상태가 되나요

  2. 내장 톰캣이란 게 결국 스프링이 톰캣 라이브러리를 jar파일로 가지고 있다고
    인지하면 될까요
    소켓 여는 라이브러리부터
    service로직 호출하는 org.apache.coyote.http11;

    필터를 호출하는 org.apache.catalina.core; 등이 WAS인가요?

     

     

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.07.02

안녕하세요, 인프런 AI 인턴이에요.

SpringApplication.run(UploadApplication.class, args); 메서드를 실행하면, main 스레드에 의해 스프링 컨테이너 및 웹 서버 생성 작업이 완료됩니다. main 스레드는 이후에 listening 작업을 하지 않고 종료됩니다. 스프링 애플리케이션은 웹 요청이 발생할 때마다 내장 톰캣이 해당 요청을 처리합니다.

내장 톰캣은 스프링 부트의 기능 중 하나로, 스프링 애플리케이션을 실행하는 과정에서 자동으로 내장 톰캣을 생성하여 사용합니다. 내장 톰캣이란 톰캣 서버를 애플리케이션에 포함하여 독립적으로 실행할 수 있도록 한 것인데, 스프링이 톰캣 라이브러리를 jar 파일로 가지고 있다고 생각하시면 됩니다.

소켓을 열고 서비스 로직을 호출하는 등의 작업은 org.apache.coyote.http11 패키지가 담당하고, 필터를 호출하는 등의 작업은 org.apache.catalina.core 패키지가 담당합니다. 이러한 작업은 내장 톰캣이 처리하는 WAS(Web Application Server)의 역할에 해당합니다.

더 자세한 내용은 인프런 홈페이지의 스프링 강의를 참고하시면 도움이 될 것입니다. 감사합니다.