BoneCP (또는 다른 풀)는 연결이 풀로 반환 될 때 연결의 명령문을 닫습니까? 알다시피, 그것은 실제 연결의 close 메서드를 호출하지 않으므로 자동 문이 닫히지 않습니다. 그래서, 다른 방법으로 문장을 닫거나 수동으로 닫아야합니까?BoneCP (또는 다른 풀)는 연결이 풀로 반환되면 연결 문을 닫습니까?
답변
정상적인 연결 종료 상태에서 수행해야하는 작업에 대해서는 JDBC 사양이 매우 명확하지 않으므로 사용하는 풀에 관계없이 항상을 사용해야합니다. 장래에 다른 풀로 전환하려고 할 때 응용 프로그램에 어떤 일이 일어나는지 생각해보십시오.
BoneCP와 관련하여 답은 아니오입니다. 잊어 버린 경우 연결을 종료하도록 구성 할 수 있지만 답변을 닫지는 않습니다. 일부 JDBC 드라이버는 연결을 닫을 때 내부적으로 활성 상태 인 모든 문을 닫을 것이므로 성능상의 이유로 사용됩니다.
그러나 BoneCP는 캐싱이 설정된 명령문이 있으면 캐시 된 명령문을 모두 닫습니다.
EDIT : v0.8.0부터, 닫히지 않은 문장을 닫기위한 지원이 추가되었습니다. (원하는 경우 명령문이 열린 위치의 스택 추적을 인쇄합니다).
BoneCP (0.8.0 -RC3),
이 캐시되지 않은 문에 대한 몇 가지 구성으로 봉쇄
이 개 가능한 결과 만에 상관없이 구성하는 방법 오프 비 닫으있다 캐시 된 명령문에 대해서도 명시 적으로 statement.close()를 호출합니다.
preparedStatement & callableStatement를 캐시하는 StatementCache 클래스가 있습니다. 기본값은 비활성화입니다. 활성화하려면> 0 매개 변수를 사용하여 BoneCPConfig.setStatementsCacheSize()를 호출해야합니다. 캐시를 활성화 한 후
1 캐시 된 경우 BoneCP.Statement.Close()는 기본 명령문 닫기를 무시합니다.
public void close() throws SQLException {
this.connectionHandle.untrackStatement(this);
this.logicallyClosed.set(true);
if (this.logStatementsEnabled){
this.logParams.clear();
this.batchSQL = new StringBuilder();
}
if (this.cache == null || !this.inCache){ // no cache = throw it away right now
this.internalStatement.close();
}
}
2 BoneCP.Connection.close() 는 단지
좋은 소식은 MySQL의 JDBC 드라이버, 커넥터/J입니다 ") (clearStatementCaches"기능을 통해 캐시를 지울 것인가는 모든을 닫습니다 함수 "closeAllOpenStatements()"를 통해 연결을 닫을 때 열린 문이 표시됩니다.
- 1. BoneCP 사용 : 풀에서 연결 처리
- 2. grails의 groovy.sql.newInstance - 누가 접속을 닫습니까?
- 3. Drupal render()가 다른 div를 강제로 닫습니까?
- 4. 어떻게 vb.net에서 SQLConnection 문자열을 완전히 닫습니까?
- 5. FileStream.Dispose가 즉시 파일을 닫습니까?
- 6. JBoss JDBC 연결이 연결 풀에서 다시 공급되지 않도록 무효화 할 수 있습니까?
- 7. jQuery Simplemodal을 어떻게 닫습니까?
- 8. SqlCommand.Dispose가 연결을 닫습니까?
- 9. 언제 MongoDB가 영구 DB 연결을 닫습니까?
- 10. 자바 메일 오류 : java.net.ConnectException : 연결이 거부되었습니다 : 연결
- 11. 다른 데이터베이스 버전에 연결
- 12. 연결이 끊어진 클라이언트 소켓을 다시 연결
- 13. 1024 연결 이후에 연결이 거부되는 이유는 무엇입니까?
- 14. 연결이 끊어진 후 MySql에 자동으로 다시 연결
- 15. 연결이 끊긴 네트워크 드라이브 다시 연결
- 16. SSL을 통한 연결 중에 LDAP 연결이 실패합니다.
- 17. Oracle OLEDB 연결 풀링 및 잘못된 연결
- 18. C# CancelButton이 대화 상자를 닫습니까?
- 19. 연결이 바뀌면 소켓 연결이 끊어지지 않습니다.
- 20. 데이터베이스 연결 풀링 및 connection.close()
- 21. 도달 가능성 또는 연결 DidFailWithError?
- 22. 왜 PreparedStatements를 만들려면 연결이 필요합니까?
- 23. BufferedOutputStream을 닫으면 기본 OutputStream도 닫습니까?
- 24. 페이지가 렌더링되면 GC가 개체를 닫습니까?
- 25. ADO.NET : ExecuteScalar가 자동으로 연결을 닫습니까?
- 26. erlang mysql 모듈을 사용하면 데이터베이스 연결이 어떻게 닫습니까? 얼랑 MySQL의 모듈을 사용하여
- 27. 새 TCP 연결이 이루어질 때 기존 연결이 닫힙니다.
- 28. 함수가 반환되면 함수에서 할당 된 메모리가 해제됩니까?
- 29. 연결 다른 도메인의 데이터베이스에
- 30. OpenJPA 2.0.1에서 캐싱을 비활성화하는 방법 (편집 : BoneCP 관련 문제)