我正在尋找jOOQ/HikariCP連接池中Spring的AbstractPlatformTransactionManager
的setDefaultTimeout
方法的模擬。如何在HikariCP中設置事務超時
我發現像loginTimeout
,maxLifetime
和idleTimeout
的HikariDataSource
等各種超時,但它們都不符合我的目的。
我也看着jOOQ的TransactionProvider
。
後一些源代碼的調查我發現在HikariCP下面的代碼:
setNetworkTimeout(connection, validationTimeout);
try (Statement statement = connection.createStatement()) {
if (isNetworkTimeoutSupported != TRUE) {
setQueryTimeout(statement,
(int) MILLISECONDS.toSeconds(
Math.max(1000L, validationTimeout)));
}
statement.execute(config.getConnectionTestQuery());
}
見到這種情景,我想我的配置是後是validationTimeout
。它是否正確?