SPRINGBOOT 多數據源 配置MYSQL 8小時斷開問題

SPRINGJPA

SPRINGBOOT

HIBERNATE

多數據源(ORACLE MYSQL)

都知道MYSQL有默認8小時斷開鏈接的機制,所以配置如下:

spring.datasource.primary.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.primary.minimum-idle=7
spring.datasource.primary.idle-timeout=180000
spring.datasource.primary.max-idle=10
spring.datasource.primary.max-wait=10000
spring.datasource.primary.min-idle=8
spring.datasource.primary.initial-size=15
spring.datasource.primary.maximum-pool-size=50
spring.datasource.primary.auto-commit=true
spring.datasource.primary.pool-name=MySqlHikariCP
spring.datasource.primary.max-lifetime=1900
spring.datasource.primary.connection-timeout=1800000
spring.datasource.primary.test-on-borrow=true
spring.datasource.primary.validation-query=SELECT 1
spring.datasource.primary.connection-test-query=SELECT 1
 

 

但是配置完後8小時後還是會關閉鏈接:

所以還需要配置BEAN 再設置一遍connection-test-query

  
	    /***
  		 * 配置主數據源
  		 * @return
  		 */
  	  	@Bean(name = "primaryDataSource")
  	    @Qualifier("primaryDataSource")
  	    @ConfigurationProperties(prefix="spring.datasource.primary")
  	  	@Primary
  	  	public DataSource primaryDataSource() {
  	  		HikariDataSource dataSource = DataSourceBuilder.create().type(com.zaxxer.hikari.HikariDataSource.class).build();
  	  		dataSource.setConnectionTestQuery(connectionTestQuery);
  	  		dataSource.setAutoCommit(isAutoCommit);
  	        return dataSource;
  	    }

至於爲何需要再設置一遍dataSource.setConnectionTestQuery(connectionTestQuery); 希望評論告知

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章