728x90
서버에서 운영하고 있는 로그 중 nohup.out 로그를 살펴보았다.
근데 위의 내용처럼
[Error] Could not open JPA EntityManager for transaction
이런 에러가 있는것이다.. 근데 한번만 있는게 아니라 일정시간 계속 저 에러 로그가 쌓여있는것이다.
이상하다.. 찾아보니
@Transactional
이 트랜잭셔널 어노테이션에 대한 문제인 것 같았다.
<내가 이해한 의미>
DB 와 어플리케이션에서의 상호작용을 통해 데이터를 주고 받는다 .
이때 @Transactional 는DB와 어플리케이션에서 서로 데이터를 주고 받을 수 있도록 커넥션을 생성해주도록 하는 역할을 하는 것이다.
쉽게 말하면 트랜잭션은 DB와 앱의 상호작용을 다 마칠때까지 기다려주는 역할을 하는 것이다.
그리고 다시 커넥션은 반납하게 되고 , 요청시 다시 커넥션 생성하고 작업이 완료될때까지 기다리다 다시 반납해주는 것이다.
근데 이 트랜잭션이 안만들어 졌다는 의미는 아직 커넥션이 반납되지 않았거나 , 커넥션 풀 의 갯수가 적어서 할당될 수 없었던 의미이다.
이러한 문제가 생긴 이유에 대해 확인해보았을떄 ......
두둥...
스케쥴러에 어노테이션이 있었던것이다..
.... 뭐지 .. ???
오타였다...
즉,,
@Transactional 는 DB 와 연결시 필요로 하는 어노테이션이다.
'Springboot' 카테고리의 다른 글
Springboot_ jdbc 연동 (0) | 2024.08.20 |
---|---|
vscode_ SpringBoot 프로젝트 만들기 (0) | 2024.08.20 |
Springboot -SSE ( 로컬에서는 실시간 o / https nginx 서버에서는 실시간 x) (0) | 2024.06.23 |
springboot https 적용기 (0) | 2024.06.05 |
Springboot_ Redis SSE 작업 (0) | 2024.06.02 |