Jpa Transaction

Spring

왜 Spring Scheduler를 사용할 때 트랜잭션이 정상적으로 수행되지 않을까?

졸업 캡스톤 프로젝트를 하며 Jsoup을 이용해 학교 비교과 및 리쿠르팅 정보를 크롤링해와 그걸 저장하는 로직을 구현했었다. 그런데 이 크롤링 작업을 스케쥴러에 등록하여 매일 1번씩 데이터를 갱신하는 작업을 하려 했는데 스케쥴러도 정상적으로 동작하고 크롤링도 정상적으로 동작하는데 delete나 save가 모두 작동하지 않았다. 좀 찾아보니 신기한 답이 나왔다. 우선 나는 CrawlService위에 @Transactional(readonly=true)를 걸어줬다. 그리고 스케쥴러가 실행할 메소드를 정의했고 해당 메소드 내에서 크롤링에 필요한 메소드들을 호출했고 해당 메소드들은 @Transactional이 붙어있는 메소드들이다. 자, 여기서 우린 @Transactional 어노테이션이 하나가 아니란 사실을 ..

시롱시롱
'Jpa Transaction' 태그의 글 목록