¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.framework.config.properties; |
| | | |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import com.alibaba.druid.pool.DruidDataSource; |
| | | |
| | | /** |
| | | * druid é
ç½®å±æ§ |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | @Configuration |
| | | public class DruidProperties |
| | | { |
| | | @Value("${spring.datasource.druid.initialSize}") |
| | | private int initialSize; |
| | | |
| | | @Value("${spring.datasource.druid.minIdle}") |
| | | private int minIdle; |
| | | |
| | | @Value("${spring.datasource.druid.maxActive}") |
| | | private int maxActive; |
| | | |
| | | @Value("${spring.datasource.druid.maxWait}") |
| | | private int maxWait; |
| | | |
| | | @Value("${spring.datasource.druid.timeBetweenEvictionRunsMillis}") |
| | | private int timeBetweenEvictionRunsMillis; |
| | | |
| | | @Value("${spring.datasource.druid.minEvictableIdleTimeMillis}") |
| | | private int minEvictableIdleTimeMillis; |
| | | |
| | | @Value("${spring.datasource.druid.maxEvictableIdleTimeMillis}") |
| | | private int maxEvictableIdleTimeMillis; |
| | | |
| | | @Value("${spring.datasource.druid.validationQuery}") |
| | | private String validationQuery; |
| | | |
| | | @Value("${spring.datasource.druid.testWhileIdle}") |
| | | private boolean testWhileIdle; |
| | | |
| | | @Value("${spring.datasource.druid.testOnBorrow}") |
| | | private boolean testOnBorrow; |
| | | |
| | | @Value("${spring.datasource.druid.testOnReturn}") |
| | | 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); |
| | | |
| | | /** |
| | | * ç¨æ¥æ£æµè¿æ¥æ¯å¦ææçsqlï¼è¦æ±æ¯ä¸ä¸ªæ¥è¯¢è¯å¥ï¼å¸¸ç¨select 'x'ã妿validationQuery为nullï¼testOnBorrowãtestOnReturnãtestWhileIdleé½ä¸ä¼èµ·ä½ç¨ã |
| | | */ |
| | | datasource.setValidationQuery(validationQuery); |
| | | /** 建议é
置为trueï¼ä¸å½±åæ§è½ï¼å¹¶ä¸ä¿è¯å®å
¨æ§ãç³è¯·è¿æ¥çæ¶åæ£æµï¼å¦æç©ºé²æ¶é´å¤§äºtimeBetweenEvictionRunsMillisï¼æ§è¡validationQueryæ£æµè¿æ¥æ¯å¦ææã */ |
| | | datasource.setTestWhileIdle(testWhileIdle); |
| | | /** ç³è¯·è¿æ¥æ¶æ§è¡validationQueryæ£æµè¿æ¥æ¯å¦ææï¼åäºè¿ä¸ªé
ç½®ä¼é使§è½ã */ |
| | | datasource.setTestOnBorrow(testOnBorrow); |
| | | /** å½è¿è¿æ¥æ¶æ§è¡validationQueryæ£æµè¿æ¥æ¯å¦ææï¼åäºè¿ä¸ªé
ç½®ä¼é使§è½ã */ |
| | | datasource.setTestOnReturn(testOnReturn); |
| | | return datasource; |
| | | } |
| | | } |