Spring-Boot-2.0.0-M1 versioon muudab vaikimisi andmebaasiühenduse basseini tomcat jdbc basseinist hikari peale ning kui käivitatakse spring boot rakendus, väljastab konsool järgmise
2021-11-25 14:48:09.429 INFO 22236 --- [põhiline] com.zaxxer.hikari.HikariDataSource: HikariPool-1 - Alustan... 2021-11-25 14:48:09.813 INFO 22236 --- [põhi] com.zaxxer.hikari.HikariDataSource: HikariPool-1 - Alustamine lõpetatud. Hikari vaikimisi konfiguratsiooni vaikimisi väärtused on järgmised:
{"connection-timeout":30000,"maximum-pool-size":10,"max-lifetime":1800000,"minimum-idle":10,"validation-timeout":5000,"idle-timeout":600000}
| Nimi | Konstruktori vaikimisi | Vaikimisi konfiguratsioon on väärtus pärast valideerimist | validatereset | | minIdle | -1 | 10 | minIdle<0 või minIdle>maxPoolSize, see lähtestatakse maxPoolSize peale | | maxPoolSize | -1 | 10 | Kui maxPoolSize on väiksem kui 1, siis see lähtestatakse. Kui minIdle<=0 lähtestatakse DEFAULT_POOL_SIZE-le, on see 10; Kui minIdle>0, siis see lähtestub väärtusele minIdle | | maxLifetime | MINUTID.toMillis(30) = 1800000 | 1800000 | Kui see ei ole null ja alla 30 sekundi, lähtestatakse see tagasi 30 minutile | | connectionTimeout | SEKUNDID.Millis(30) = 30000 | 30000 | Kui see on alla 250 ms, lähtestatakse see tagasi 30 sekundile | | validationTimeout | SEKUNDID.toMillis(5) = 5000 | 5000 | Kui see on alla 250 ms, lähtestatakse see tagasi 5 sekundile | | loginTimeout | 10 | 30 | Math.max(1, (int) MILLISECONDS.toSeconds(500L + connectionTimeout)), mis on connectionTimeout+500ms maksimaalne ühendus, et teisendada sekundite arv tervikuks ja 1 | | idleTimeout | MINUTID.toMillis(10) = 600000 | 600000 | Kui idleTimeout+1 sekundit > maxLifetime ja maxLifetime >0, lähtestatakse see 0-le; Kui idleTimeout!=0 ja vähem kui 10 sekundit, lähtestatakse see 10 sekundile | | LeakDetection Threshold | 0 | 0 | Kui see on suurem kui 0 ja mitte ühiktest, siis hinnatakse veel, et (leakDetectionThreshold < SECONDS.toMillis(2) või (leakDetectionThreshold > maxLifetime && maxLifetime > 0), lähtestatakse 0-le. See tähendab, et kui see peaks jõustuma, peab see olema >0 ja ei tohi olla vähem kui 2 sekundit, ning kui maxLifetime > 0 tundi ei saa olla suurem kui maxEluiga | | initsialisatsioonFailTimeout | 1 | 1 | - | | isAutoCommit | true | true | - | | isReadOnly | false | Fasle | - | | isAllowPoolSuspension | false | false | - | | isIsolateInternalQueries | false | false | - | | isRegisterMbeans | false | false | - | | suletud | false | true | See lipp kehtib pärast jooksu algust, mis näitab, et modifikatsioon enam ei tööta | | basseininimi | null | HikariPool-1 | - | | Kataloogi | null | null | - | | connectionInitSql | null | null | - | | connectionTestQuery | null | null | - | | dataSourceClassName | null | null | - | | Skeemi | null | null | - | | transactionIsolationName | null | null | - | | andmeallikas | null | null | - | | dataSourceProperties | {} | {} | - | | threadFactory | null | null | - | | scheduledExecutor | null | null | - | | metricsTrackerFactory | null | null | - | | metricRegistry | null | null | - | | healthCheckRegistry | null | null | - | | healthCheckProperties | {} | {} | - |
Stressitesti läbiviimisel võib rakendus teatada järgmistest vigadest:
Põhjustas: org.springframework.jdbc.CannotGetJdbcConnectionException: Ebaõnnestus saada JDBC ühendust; pesastatud erand on java.sql.SQLTransientConnectionException: HikariPool-1 - Ühendus pole saadaval, päring on ajastatud pärast 30000 ms. aadressil org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82) aadressil org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) aadressil org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) aadressil org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) aadressil org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86) aadressil org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62) aadressil org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) aadressil org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) aadressil org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109) aadressil com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81) aadressil org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62) aadressil com.sun.proxy.$Proxy 224.query(Tundmatu allikas) aadressil org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151) ... Veel 114 Põhjustatud: java.sql.SQLTransientConnectionException: HikariPool-1 - Ühendus ei ole saadaval, päring on ajastatud pärast 30000 ms. aadressil com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:695) aadressil com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197) aadressil com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162) aadressil com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) aadressil org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:158) aadressil org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:116) aadressil org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79) ... Veel 126
Viga:Ei õnnestunud saada JDBC ühendust; pesastatud erand on java.sql.SQLTransientConnectionException: HikariPool-1 - Ühendus pole saadaval, päring ajastatud pärast 30000 ms.
Kontroller väljastab HikariDataSource konfiguratsiooniliidese koodi järgmiselt:
Optimeerige skeem, suurendage maksimaalset lõimede arvu ja suurendage tühikäigul hoitud ühenduste arvu ning muutke application.yml konfiguratsiooni järgmiselt:
(Lõpp)
|