🖤인프런만의 100% 블프 이벤트🖤
🎁100% 환급+할인+당첨 가능한 인프런 블프 구경오세요!
141만명의 커뮤니티!! 함께 토론해봐요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 현재 상황 스프링 DB 접근 기술 > 스프링 통합 테스트 수업을 듣던 도중 MemberServiceIntegrationTest.java 파일에서 회원가입() Test를 진행하던 도중 'java.sql.SQLException: Connection is closed'이라는 에러가 발생하는 상황입니다. 질문 게시판에서 확인해보니 현재 미해결된 상황이라 이렇게 다시금 글을 남깁니다. 구글링하여 확인해보니 @Transactional과 Connection객체의 트랜잭션 중복 문제인것 같은데... 어떻게 수정해야 할지 감이 안잡혀서 질문남깁니다. 하단에 공유 링크 첨부합니다. 확인해주시면 감사하겠습니다. Google Drive Link https://drive.google.com/file/d/1KBANfw1MXw3anPnnlIQgHzs5kolswUsd/view?usp=sharing 궁금한 점 구글에 검색해보니 connection 객체의 AutoCommit을 false로 설정하거나, TransactionSynchronizationManager.initSynchronization() 함수를 사용하여 트랜잭션을 동기화하여 처리하는 방식으로 사용하면 될것이다 라는 의견들이 있었습니다. initSynchronization()함수를 사용하니 'Cannot activate transaction synchronization - already active'이런 식의 에러가 발생하고 AutoCommit을 false로 설정하니 변함없이 Connection is closed라고 표시되더군요. 어떠한 방식을 사용해서 진행해야 에러를 잡을 수 있을지 궁금합니다. 로그를 찍어보니 JdbcMemberRepository.java의 pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); 이부분에서 에러가 발생하는 것 같은데... try catch로 감싸게 된다면 어떠한 Exception으로 감싸면 되는지도 궁금합니다.(IllegalStateException으로 감싸면 될까요...?)