• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

EntityManager, 트랜잭션, 쓰레드풀 사이의 관계 및 작동순서에 대해 질문드립니다.

21.09.18 23:22 작성 조회수 179

0

안녕하세요! 제가 이해한 내용을 간단하게 설명하고, 궁금한 점을 여쭤보고 싶어요. 지적과 답변 해주시면 감사하겠습니다.

 

1. EntityManager는 트랜잭션 단위로 생성됐다가 반환(삭제)됩니다.

2. 사용자의 요청 1개에 대해 1개의 트랜잭션을 사용합니다.

3. 1과 2의 내용으로 짐작해보면, 사용자로부터 N개의 (DB접근이 필요한) 요청이 들어왔을 때, "EntityManager 생성 -> 트랜잭션 시작 -> 트랜잭션 커밋 -> EntityManager 종료" 과정을 N번 반복하는 것이 맞나요? 또한 이 과정이 톰캣 내부 쓰레드 풀의 쓰레드 1개를 꺼내와서 실행한 후 요청이 끝나면 반납하는 형식이 맞나요?

 

영한님, 서포터즈님들 감사합니다.

 

답변 1

답변을 작성해보세요.

1

김영한님의 프로필

김영한

지식공유자

21.09.21 21:27

안녕하세요. 포닥님

생각하신 내용이 맞습니다^^

그런데 톰캣 쓰레드풀은 JPA와 무관합니다. HTTP로 고객의 요청이 오면 1개가 사용됩니다.

감사합니다.