簡體   English   中英

如何在 Spring Boot 應用程序中設置 oracle db 連接超時

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM