• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

MyLogger 스코프

23.12.07 00:20 작성 조회수 142

1

[질문 내용]
requeste 스코프 예제 만들기 20:17초에 나오는 LogDemoService의 MyLogger에 관한 질문입니다.

 

해당 스코프가 request니까 각 http요청당 하나씩 생성되고 종료되는 거로 알고 있습니다.

 

  1. 처음 컨트롤러에서 생성된 MyLogger를 사용하고 그 다음 서비스에도 MyLogger를 사용하는데 이 때 컨트롤러에서 세팅한 값 MyLogger객체가 그대로 서비스에도 쓰이는 거 같은데 이게 어떻게 가능한거죠??

 

  1. 컨트롤러와 서비스 코드 간에 같은 MyLogger 객체를 공유하는 어떤 기능이 있는 건가요? 동시에 100개의 http 요청이 들어왔을 때 구분을 어떻게 하는지 궁금합니다.

 

답변 1

답변을 작성해보세요.

2

David님의 프로필

David

2023.12.07

안녕하세요. 키레이님, 공식 서포터즈 David입니다.

Request Scope Bean의 경우 요청 객체 내에 attribute를 보관하는 곳에 빈을 보관하게 됩니다. 따라서, 하나의 요청이 진행되는 동안 Controller -> Service의 흐름 속에서 동일한 Request Scope Bean을 가져갈 수 있게 됩니다. 여러 개의 요청이 들어와도 각 요청 별로 구분되어 Request Scope Bean이 저장되어 있으므로 섞이는 일이 발생하지 않습니다.

감사합니다.

키레이님의 프로필

키레이

질문자

2023.12.08

친절한 답변 감사드립니다