我必须在Spring Boot应用程序中设置Oracle DB连接超时。我该怎么设置它?
在WebLogic服务器中,我可以使用以下属性进行设置:
oracle.jdbc.ReadTimeout=50000
oracle.net.CONNECT_TIMEOUT=20000
答案 0 :(得分:0)
如果您使用的是弹簧数据jpa
,请尝试此spring.jpa.properties.hibernate.c3p0.timeout 5000
答案 1 :(得分:0)
您可以将其设置为:
@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