API 호출 시 오류가 발생했다.




java.lang.Exception: Apparent connection leak detected
        at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) ~[HikariCP-3.4.5.jar:na]
        at com.p6spy.engine.spy.P6DataSource.getConnection(P6DataSource.java:300) ~[p6spy-3.9.0.jar:na]



바로 이 에러…!!!
이것이 무엇인고 하니,,,,
HicariCP를 통해 작업을 할 때, 발생하는 커넥션 누수라고 한다.
커넥션이 회수가 되지 않아서 그대로 죽어버리는….



나같은 경우는 따로 close를 명시하지 않아도 됐기에
그로 인한 오류는 아닐 거라고 생각했다.
그러니 반환을 안해줘서 생기는 오류는 아닌 것…!!!!
그런데 구글링을 해보면 다들 자원 반환 얘기만 있어서 해결하기가 너무 어려웠다…ㅠㅠㅠ
그래서 계속 코드를 열심히 살펴보다가 try-catch 문에서 이상한 점을 발견했다.
바로 Exception이 발생했을 때, catch문에서 별다른 작업을 하고 있지 않다는 것…!!!!
그래서 catch문에 곧바로



e.printStackTrace();



이걸 명시해줬더니 해결되었다..;;
이제 보니, catch문에서 별다른 작업을 하지 않아서 close가 제대로 작동하지 않았던 것이다!
괜히 catch를 하는 것이 아니구나 라는 생각이 들었다.
역시 그냥 쓰는 코드는 없어….!!

태그: ,

카테고리:

업데이트: