Remove minimumIdle config in HikariCP (#557)

* Remove minimumIdle config for HikariCP

* Add comment

* Resolve comment
This commit is contained in:
Shicong Huang 2020-04-22 19:35:02 -04:00 committed by GitHub
parent ca3ae9b0e4
commit d8066ca752
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 22 additions and 29 deletions

View file

@ -41,6 +41,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.Properties;
import java.util.stream.Collectors;
@ -76,7 +77,7 @@ abstract class JpaTransactionManagerRule extends ExternalResource {
private final Clock clock;
private final Optional<String> initScriptPath;
private final ImmutableList<Class> extraEntityClasses;
private final ImmutableMap userProperties;
private final ImmutableMap<String, String> userProperties;
private static final JdbcDatabaseContainer database = create();
private static final HibernateSchemaExporter exporter =
@ -143,15 +144,18 @@ abstract class JpaTransactionManagerRule extends ExternalResource {
new String(Files.readAllBytes(tempSqlFile.toPath()), StandardCharsets.UTF_8));
}
ImmutableMap properties = PersistenceModule.providesDefaultDatabaseConfigs();
Map<String, String> properties =
Maps.newHashMap(PersistenceModule.providesDefaultDatabaseConfigs());
// Set the minimumIdle to 0 so assertReasonableNumDbConnections() can check if there is
// connection leak after each test.
properties.put("hibernate.hikari.minimumIdle", "0");
properties.put("hibernate.hikari.idleTimeout", "300000");
if (!userProperties.isEmpty()) {
// If there are user properties, create a new properties object with these added.
ImmutableMap.Builder builder = properties.builder();
builder.putAll(userProperties);
properties.putAll(userProperties);
// Forbid Hibernate push to stay consistent with flyway-based schema management.
builder.put(Environment.HBM2DDL_AUTO, "none");
builder.put(Environment.SHOW_SQL, "true");
properties = builder.build();
properties.put(Environment.HBM2DDL_AUTO, "none");
properties.put(Environment.SHOW_SQL, "true");
}
assertReasonableNumDbConnections();
emf =
@ -159,7 +163,7 @@ abstract class JpaTransactionManagerRule extends ExternalResource {
getJdbcUrl(),
database.getUsername(),
database.getPassword(),
properties,
ImmutableMap.copyOf(properties),
extraEntityClasses);
emfEntityHash = entityHash;
}