풀에서 JDBC 연결 닫기
질문: 연결 풀을 사용할 때 JDBC 연결을 닫아야 합니까? 그렇다면 풀링의 목적에 어긋나는 것이 아닌가요?
답변: 예, 풀링된 연결을 닫아야 합니다. 풀링된 연결을 닫으면 기본 연결이 다시 풀로 해제됩니다.
연결 풀은 사용 중인 연결과 사용 가능한 연결을 추적합니다. 연결이 닫히면 풀은 이를 재사용 가능한 것으로 인식합니다.
질문: 풀이나 DriverManager에서 연결을 얻는 데 다음 방법이 적합합니까?
public Connection getConnection(boolean pooledConnection) throws SQLException { if (pooledConnection) { if (ds == null) { try { ds = (DataSource) new InitialContext().lookup("java:comp/env/jdbc/NamedInTomcat"); return ds.getConnection(); } catch (NamingException e) { e.printStackTrace(); } } return (ds == null) ? getConnection(false) : ds.getConnection(); } return DriverManager.getConnection("jdbc:mysql://..." + dbName, uName, pWord); }
정답: 권장되지 않는 코드입니다. DataSource는 메서드가 아닌 애플리케이션 시작 중에 한 번 초기화되어야 합니다. 또한 동기화 및 null 검사가 필요하지 않습니다. 이 메소드는 단순히 DataSource를 한 번 조회하고 일관되게 연결을 반환해야 합니다.
추가 고려 사항:
위 내용은 풀링된 JDBC 연결을 닫아야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!