작성
·
340
0
리소스 정리에 관련해서 질문드립니다.
con.close()
의 경우, 커넥션 풀을 사용하는 커넥션일 때 close()
시에 커넥션 종료가 아닌 커넥션 풀로 다시 반환된다는 것으로 이해했습니다.
그런데 con.setAutoCommit(true)
로 되돌릴 때 커넥션 풀을 고려해야한다는 부분이 이해가 가지 않아서 질문드립니다. 커넥션 풀과 상관없이 오토커밋은 true로 바꿔야하는 것 아닌가 해서요.
+추가 질문: 개발자가 트랜젝션 매니저를 이용한 트랜젝션을 구현한다면 따로 위의 두가지 코드를 작성해줄 필요가 없는 것 맞는가해서 질문드립니다.(ServiceV2에서의 finally 구문을 ServiceV3_1에서는 생략한 것과 같은 맥락으로)
친절한 답변 항상 감사드립니다
답변 1
1
안녕하세요. Jaesang Yoon님
커넥션 풀과 상관없이 오토커밋은 true로 바꿔야하는 것 아닌가 해서요. -> 네 제가 말씀드린 내용과 일치합니다. 커넥션 풀을 고려해야 한다는 것이 오토커밋을 true로 돌리지 않고 커넥션 풀로 돌리면 커넥션 풀이 가지고 있는 커넥션의 오토커밋이 false가 됩니다.
추가 질문의 경우 스프링의 트랜잭션 매니저는 이런 부분을 이미 고려해두었기 때문에 개발자가 따로 신경쓰지 않아도 됩니다.
감사합니다.
직접 답변주셔서 감사합니다 🙂 좋은 저녁 되세요!