Использование BoneCP: обработка соединений из пула

Я только начал использовать BoneCP и впервые использую пул соединений. Я несколько смущен тем, как я должен его использовать. В настоящее время я сохраняю объект BoneCP как статическую переменную и, таким образом, могу использовать его между разными соединениями.

Когда я закончу с соединением, я закрываю его с помощью connection.close () .
Следует ли мне это сделать или не закрывать его, чтобы его можно было повторно использовать в пуле?

Это моя текущая реализация для получения соединения:

private static BoneCP connectionPool;

public Connection getConnection() throws SQLException {
    if (connectionPool == null) {
        initPool();
    }
    return connectionPool.getConnection();
}

private void initPool() throws SQLException {
    BoneCPConfig config = new BoneCPConfig();
    config.setJdbcUrl(DB_URL);
    config.setUsername(DB_USERNAME);
    config.setPassword(DB_PASSWORD);
    config.setMinConnectionsPerPartition(5);
    config.setMaxConnectionsPerPartition(10);
    config.setPartitionCount(1);
    connectionPool = new BoneCP(config);
}

Кажется ли это правильным, или я неправильно понял, как я должен использовать BoneCP?

7
задан Bohemian 11 January 2012 в 06:03
поделиться