히카리 재사용 : 2.4.7JDBC 연결 라이프 사이클
PostgreSQL의 JDBC를 드라이버 : 9.4-1201-jdbc41 나에 대한 java.sql.Connection
객체에 수행해야 이해하기 위해 노력하고있어
을 연결 풀 에서 다시 사용할 수 있습니까?
방금 멀티 스레드 응용 프로그램에 연결 풀링을 도입했습니다.이 풀링은 각 SQL 문과의 연결을 앞당겨 서/찢어 버렸습니다. 입니다. 내가 발견 한 무엇
는 히카리를 도입 한 후, 최대한 빨리 HikariDataSource.getConnection
에 모든 노력을 이후 maximumPoolSize
충돌로 인해 connectionTimeout
에 실패 할 것입니다. 그래서 어떻게 든이 연결을 "해제"하지 않는 것 같습니다.
Connection
객체의 일반적인 용도는 다음과 같습니다 연결 풀에서 재사용이 자격을 얻기 위해이 연결에서 수행 될 것으로 예상된다 다른 아무것도
# omits Exception handling, parameter substitution, result evaluation.
PreparedStatement preparedStatement = hikariDataSource.getConnection().prepareStatement(sql);
preparedStatement.executeQuery();
preparedStatement.close();
있습니까?
Autocommit
입니다. Connection.close()
, 히카리가 제공 할 때 특별한 것을하지 않는 한, 나는 피하고 싶었던 정확한 것처럼 보였다.
빠른 응답을 보내 주셔서 감사합니다. [소스] (https://github.com/brettwooldridge/HikariCP/blob/dev/src/main/java/com/zaxxer/hikari/pool/ProxyConnection.java#L228)를 확인하고 주장이 스포트 인 것처럼 보입니다. on - 나는 Connection.close와 PoolEntry.recycle()에서 재활용 동작을 볼 수있다. 그것에게 균열을주고 upvotes와 녹색 진드기로 돌아올 것입니다. – markdsievers
이상 : try-with-resources를 사용하십시오. –