Получите эту ошибку, когда я запускаю свои тесты на Gitlarunner, но не локально, вот код, который реализует соединение с моим mariadb
Значение max_connection в mariadb установлено на 100, я думаю, этого должно быть достаточно?
Вы видите какой-либо недостаток в моей реализации?
@Bean
public DataSource storageDataSource() {
HikariConfig config = new HikariConfig();
LOGGER.info("Database username: " + jdbcProperties.getStorage().getUser());
LOGGER.info("Database password in use: " + (!StringUtils.isEmpty(jdbcProperties.getStorage().getPass()) ? "Yes" : "No"));
LOGGER.info("Database URL: " + jdbcProperties.getStorage().getUrl());
config.setDriverClassName(jdbcProperties.getDriverClassName());
config.setJdbcUrl(jdbcProperties.getStorage().getUrl());
config.setUsername(jdbcProperties.getStorage().getUser());
config.setPassword(jdbcProperties.getStorage().getPass());
config.setAutoCommit(false);
config.setPoolName("storage-connection-pool");
config.setMaximumPoolSize(5);
config.addDataSourceProperty("dataSource.cachePrepStmts", "true");
config.addDataSourceProperty("dataSource.prepStmtCacheSize", "250");
config.addDataSourceProperty("dataSource.prepStmtCacheSqlLimit", "2048");
config.addDataSourceProperty("dataSource.useServerPrepStmts", "true");
return new HikariDataSource(config);
}
И ошибка:
config.addDataSourceProperty("dataSource.prepStmtCacheSqlLimit", "2048");
config.addDataSourceProperty("dataSource.useServerPrepStmts", "true");
return new HikariDataSource(config);
}
2018-11-28 14:49:31 UTC WARN HikariConfig:881 - rest-connection-pool - idleTimeout is close to or more than maxLifetime, disabling it.
2018-11-28 14:49:31 UTC INFO HikariDataSource:71 - rest-connection-pool - Starting...
2018-11-28 14:49:31 UTC INFO HikariDataSource:73 - rest-connection-pool - Start completed.
2018-11-28 14:49:32 UTC INFO StorageDataConfig:41 - Database username: root
2018-11-28 14:49:32 UTC INFO StorageDataConfig:42 - Database password in use: No
2018-11-28 14:49:32 UTC INFO StorageDataConfig:43 - Database URL: jdbc:mysql://localhost/storage?createDatabaseIfNotExist=true&useLegacyDatetimeCode=false&serverTimezone=UTC
2018-11-28 14:49:32 UTC INFO HikariDataSource:71 - storage-connection-pool - Starting...
2018-11-28 14:49:33 UTC ERROR HikariPool:541 - storage-connection-pool - Exception during pool initialization.
java.sql.SQLException: Too many connections
at org.mariadb.jdbc.internal.com.read.ReadInitialHandShakePacket.<init>(ReadInitialHandShakePacket.java:91)
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.handleConnectionPhases(AbstractConnectProtocol.java:716)
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:454)
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1089)
at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:494)
at org.mariadb.jdbc.MariaDbConnection.newConnection(MariaDbConnection.java:150)