merge
This commit is contained in:
@@ -1,9 +1,13 @@
|
||||
package com.xwbing.druid;
|
||||
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.alibaba.druid.support.http.StatViewServlet;
|
||||
import com.alibaba.druid.support.http.WebStatFilter;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
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 org.springframework.context.annotation.Primary;
|
||||
@@ -18,12 +22,11 @@ import java.sql.SQLException;
|
||||
* 作者: xiangwb
|
||||
*/
|
||||
@Configuration
|
||||
//@ConfigurationProperties(prefix = "spring.datasource")
|
||||
@EnableConfigurationProperties(DruidDataSourceModel.class)
|
||||
public class DruidDataSourceConfig {
|
||||
@Resource
|
||||
private DruidDataSourceModel druidDataSourceModel;
|
||||
private final Logger logger= LoggerFactory.getLogger(DruidDataSourceConfig.class);
|
||||
private final Logger logger = LoggerFactory.getLogger(DruidDataSourceConfig.class);
|
||||
|
||||
@Bean
|
||||
@Primary
|
||||
@@ -54,4 +57,30 @@ public class DruidDataSourceConfig {
|
||||
}
|
||||
return dataSource;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ServletRegistrationBean statViewServlet() {
|
||||
logger.info("注册druid监控信息显示statViewServlet ======================= ");
|
||||
ServletRegistrationBean registration = new ServletRegistrationBean(new StatViewServlet());
|
||||
registration.addUrlMappings("/druid/*");
|
||||
//添加初始化参数:initParams
|
||||
// registration.addInitParameter("allow", "127.0.0.1");//IP白名单(没有配置或者为空,则允许所有访问)
|
||||
// registration.addInitParameter("deny", "172.17.21.232");//IP黑名单(存在共同时,deny优先于allow)
|
||||
registration.addInitParameter("loginUsername", "admin");//用户名
|
||||
registration.addInitParameter("loginPassword", "123456");//密码
|
||||
registration.addInitParameter("resetEnable", "true");//禁用HTML页面上的"Reset All"功能
|
||||
return registration;
|
||||
}
|
||||
|
||||
/*servlet*****************************************************filter*/
|
||||
|
||||
@Bean
|
||||
public FilterRegistrationBean webStatFilter() {
|
||||
logger.info("注册druid监控信息采集webStatFilter ======================= ");
|
||||
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
|
||||
filterRegistrationBean.addUrlPatterns("/*");
|
||||
filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,*.jsp,/druid/*");
|
||||
filterRegistrationBean.addInitParameter("profileEnable", "true");//监控单个url调用的sql列表
|
||||
return filterRegistrationBean;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import lombok.Data;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 说明: 德鲁伊数据源参数模型
|
||||
* 项目名称: boot-module-demo
|
||||
@@ -19,19 +20,64 @@ public class DruidDataSourceModel {
|
||||
private String username;
|
||||
private String password;
|
||||
private String driver;
|
||||
/**
|
||||
* 初始连接数
|
||||
*/
|
||||
private int initSize;
|
||||
/**
|
||||
* 最小空闲
|
||||
*/
|
||||
private int minIdle;
|
||||
/**
|
||||
* 最大连接数
|
||||
*/
|
||||
private int maxActive;
|
||||
/**
|
||||
* 连接等待超时时间
|
||||
*/
|
||||
private int maxWait;
|
||||
/**
|
||||
* 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
|
||||
*/
|
||||
private int timeBetweenEvictionRunsMillis;
|
||||
/**
|
||||
* 配置一个连接在池中最小生存的时间,单位是毫秒
|
||||
*/
|
||||
private int minEvictableIdleTimeMillis;
|
||||
/**
|
||||
* 用来检测连接是否有效的sql,要求是一个查询语句
|
||||
*/
|
||||
private String validationQuery;
|
||||
/**
|
||||
* 申请连接的时候检测
|
||||
*/
|
||||
private boolean testWhileIdle;
|
||||
/**
|
||||
* 申请连接时执行validationQuery检测连接是否有效,配置为true会降低性能
|
||||
*/
|
||||
private boolean testOnBorrow;
|
||||
/**
|
||||
* 归还连接时执行validationQuery检测连接是否有效,配置为true会降低性能
|
||||
*/
|
||||
private boolean testOnReturn;
|
||||
/**
|
||||
* 打开PSCache,mysql5.5以下的版本中没有PSCache功能,建议关闭掉
|
||||
*/
|
||||
private boolean poolPreparedStatements;
|
||||
/**
|
||||
* 指定每个连接上PSCache的大小
|
||||
*/
|
||||
private int maxPoolPreparedStatementPerConnectionSize;
|
||||
/**
|
||||
* 配置监控统计拦截的filters
|
||||
*/
|
||||
private String filters;
|
||||
/**
|
||||
* 慢SQL记录
|
||||
*/
|
||||
private String connectionProperties;
|
||||
/**
|
||||
* 合并多个DruidDataSource的监控数据
|
||||
*/
|
||||
private boolean useGlobalDataSourceStat;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.xwbing.configuration;
|
||||
|
||||
import com.alibaba.druid.support.http.StatViewServlet;
|
||||
import com.alibaba.druid.support.http.WebStatFilter;
|
||||
import com.xwbing.handler.FormRepeatFilter;
|
||||
import com.xwbing.util.captcha.CaptchaServlet;
|
||||
import org.slf4j.Logger;
|
||||
@@ -29,32 +27,8 @@ public class ServletFilterConfig {
|
||||
return registration;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ServletRegistrationBean statViewServlet() {
|
||||
logger.info("注册druid监控信息显示statViewServlet ======================= ");
|
||||
ServletRegistrationBean registration = new ServletRegistrationBean(new StatViewServlet());
|
||||
registration.addUrlMappings("/druid/*");
|
||||
//添加初始化参数:initParams
|
||||
// registration.addInitParameter("allow", "127.0.0.1");//IP白名单(没有配置或者为空,则允许所有访问)
|
||||
// registration.addInitParameter("deny", "172.17.21.232");//IP黑名单(存在共同时,deny优先于allow)
|
||||
registration.addInitParameter("loginUsername", "admin");//用户名
|
||||
registration.addInitParameter("loginPassword", "123456");//密码
|
||||
registration.addInitParameter("resetEnable", "true");//禁用HTML页面上的"Reset All"功能
|
||||
return registration;
|
||||
}
|
||||
|
||||
/*servlet*****************************************************filter*/
|
||||
|
||||
@Bean
|
||||
public FilterRegistrationBean webStatFilter() {
|
||||
logger.info("注册druid监控信息采集webStatFilter ======================= ");
|
||||
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
|
||||
filterRegistrationBean.addUrlPatterns("/*");
|
||||
filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,*.jsp,/druid/*");
|
||||
filterRegistrationBean.addInitParameter("profileEnable", "true");//监控单个url调用的sql列表
|
||||
return filterRegistrationBean;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public FilterRegistrationBean formSaveFilter() {
|
||||
logger.info("注册表单重复提交过滤器formSaveFilter ======================= ");
|
||||
|
||||
Reference in New Issue
Block a user