[英]How to restart spring boot application when Hikari give connection timeout?
[英]How to set oracle db connection timeout in spring Boot application
我必須在 Spring Boot 應用程序中設置 Oracle DB 連接超時。 我該如何設置?
在 WebLogic 服務器中,我可以使用以下屬性進行設置:
oracle.jdbc.ReadTimeout=50000
oracle.net.CONNECT_TIMEOUT=20000
您可以將其設置為:
@Bean
public HikariDataSource dataSource() {
HikariDataSource ds = new HikariDataSource();
ds.setDriverClassName(springDatasourceDriverClassName);
ds.setJdbcUrl(springDatasourceUrl);
ds.setUsername(springDatasourceUsername);
ds.setPassword(springDatasourcePassword);
ds.setDataSourceProperties(oracleProperties());
return ds;
}
Properties oracleProperties() {
Properties properties = new Properties();
properties.put("oracle.net.CONNECT_TIMEOUT", 10000);
properties.put("oracle.net.READ_TIMEOUT", 10000);
properties.put("oracle.jdbc.ReadTimeout", 10000);
return properties;
}
如果您不想為 DataSource 配置 bean(大多數人會這樣做),您可以在 application.properties 中配置網絡超時屬性:
spring.datasource.hikari.data-source-properties.oracle.net.CONNECT_TIMEOUT=10000
spring.datasource.hikari.data-source-properties.oracle.net.READ_TIMEOUT=10000
spring.datasource.hikari.data-source-properties.oracle.jdbc.ReadTimeout=10000
如果您使用的是 spring 數據 jpa,請嘗試使用spring.jpa.properties.hibernate.c3p0.timeout 5000
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.