BoneCP (0.8.0 -RC3), есть 2 возможных результата,
закрывается с некоторой конфигурацией только для некэшированного оператора
не закрывать независимо от того, как вы настроили его для кэшированного оператора , даже если вы вызываете оператор Statement.close () явно.
Существует класс StatementCache для кэширования prepareStatement & callableStatement.По умолчанию отключено.Вам необходимо вызвать BoneCPConfig.setStatementsCacheSize () с параметром> 0, чтобы включить его.После включения кэша
1 BoneCP.Statement.Close () будет обходить базовый оператор 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 () Просто очистит кэш с помощью функции "clearStatementCaches ()"
Хорошая новость - драйвер JDBC MYSQL, Connector / J, будетзакрыть все открытые операторы, когда вы закрываете соединение с помощью функции «closeAllOpenStatements ()»