疯狂的狮子li
2021-05-17 2ebcffb22ef17421b322e58a0f2b96388a4d83cd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package com.ruoyi.framework.config.properties;
 
import com.alibaba.druid.pool.DruidDataSource;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
 
/**
 * druid 配置属性
 *
 * @author Lion Li
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "spring.datasource.druid")
public class DruidProperties {
 
    /** 初始连接数 */
    private int initialSize;
    /** 最小连接池数量 */
    private int minIdle;
    /** 最大连接池数量 */
    private int maxActive;
    /** 配置获取连接等待超时的时间 */
    private int maxWait;
    /** 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 */
    private int timeBetweenEvictionRunsMillis;
    /** 配置一个连接在池中最小生存的时间,单位是毫秒 */
    private int minEvictableIdleTimeMillis;
    /** 配置一个连接在池中最大生存的时间,单位是毫秒 */
    private int maxEvictableIdleTimeMillis;
    /** 配置检测连接是否有效 */
    private String validationQuery;
    /** 初始连接数 */
    private boolean testWhileIdle;
    /** 初始连接数 */
    private boolean testOnBorrow;
    /** 初始连接数 */
    private boolean testOnReturn;
 
    public DruidDataSource dataSource(DruidDataSource datasource) {
        datasource.setInitialSize(initialSize);
        datasource.setMaxActive(maxActive);
        datasource.setMinIdle(minIdle);
        datasource.setMaxWait(maxWait);
        datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
        datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
        datasource.setMaxEvictableIdleTimeMillis(maxEvictableIdleTimeMillis);
        datasource.setValidationQuery(validationQuery);
        datasource.setTestWhileIdle(testWhileIdle);
        datasource.setTestOnBorrow(testOnBorrow);
        datasource.setTestOnReturn(testOnReturn);
        return datasource;
    }
}