java Druid data source connection pool configuration and open console page

 Configuration classes are as follows:

package com.example.spring.druid;

import java.util.HashMap;

import javax.servlet.Servlet;
import javax.sql.DataSource;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.alibaba.druid.pool.DruidDataSource;
Import com.alibaba.druid.support.http.StatViewServlet;
 Import com.alibaba.druid.support.http.WebStatFilter; 

/ ** 
 * @DESC Druid class configuration, will be scanned springboot then added to the appropriate service vessel 
 * @author guchuang 
 * 
 * / 
@Configuration 
public  class DruidConfiguration {
     Private  static Logger LoggerFactory.getLogger = log (DruidConfiguration. class ); 
    @Bean   
    @ConfigurationProperties (prefix = "spring.datasource" )  
     public the DataSource Druid () {  
         return  new new DruidDataSource () ;   
    }  
    / ** 
     * Configuration druid page access control management 
     * Access URL: http://127.0.0.1 : 8080 / druid 
     * @return 
     * / 
    @Bean 
    public ServletRegistrationBean <Servlet> druidServlet () { 
        log.info ( "Servlet the init Druid the configuration " ); 
        ServletRegistrationBean <the Servlet> = servletRegistrationBean new new ServletRegistrationBean <> (); 
        servletRegistrationBean.setServlet ( new new StatViewServlet ());   // disposed a blocker 
        servletRegistrationBean.addUrlMappings (" / Druid / * ");     // specified interceptors intercept requests only druid management page
        HashMap <String, String> = initParam new new HashMap <String, String> (); 
        initParam.put ( "loginUsername", "ADMIN");     // Login druid management page 
        initParam.put ( "loginPassword", "admin ");     // login password druid management page 
        initParam.put (" resetEnable "," to true ");        // whether to allow the druid to reset the statistics 
        initParam.put (" the allow "," ");          // ip white list, if not set or empty, it means allowing all access 
        servletRegistrationBean.setInitParameters (initParam);
         return servletRegistrationBean;
    }
    
    @Bean
    public FilterRegistrationBean<WebStatFilter> filterRegistrationBean() {
        FilterRegistrationBean<WebStatFilter> filterRegistrationBean = new FilterRegistrationBean<WebStatFilter>();
        filterRegistrationBean.setFilter(new WebStatFilter());
        filterRegistrationBean.addUrlPatterns("/*");
        filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
        return filterRegistrationBean;
    }
    
}

Configuration files are as follows:

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/druiddb
spring.datasource.username=postgres
spring.datasource.password=postgres
#config druid
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
spring.datasource.maxWait=10000
spring.datasource.timeBetweenEvictionRunMillis=60000
spring.datasource.minEvictableIdleTimeMillis=10000
spring.datasource.validationQuery=SELECT 'x'
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=true
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=10
spring.datasource.filters=stat

 

Guess you like

Origin www.cnblogs.com/gc65/p/11183814.html
Recommended