发表于: 2020-09-11 23:37:28

1 1324


今天完成的事

application.yml 的多环境端口配置

springboot 整合druid,配置druid的监控,

1.通过 --- 把yml文件分成多文档块,再配置指定的环境端口.

#默认端口
server:
port: 8090
#设置要使用的环境端口
spring:
profiles:
active: dev
---
#开发环境端口
server:
port: 8091
spring:
profiles: dev
---
#测试环境端口
server:
port: 8092
spring:
profiles: prod
---

2.使用命令行的方式指定

--spring.profiles.active=dev或者打包之后用java -jar 包名.jar --spring.profiles.active=dev 

3.虚拟机参数指定:-DSpring.profiles.active=dev

配置文件的加载顺序。

springboot启动会扫描一下位置的application.properties或者application.yml作为默认的配置文件

工程根目录:./config/

工程根目录:./

classpath:/config/

classpath:/

加载的优先级顺序是从上向下加载,并且所有的文件都会被加载,高优先级的内容会覆盖底优先级的内容,形成互补配置

druid的监控

spring:
datasource:
username: root
password: .....
url: jdbc:mysql://localhost:3306/task4?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false
driver-class-name: com.mysql.jdbc.Driver
   type: com.alibaba.druid.pool.DruidDataSource

   #初始化时建立物理连接的个数
   initial-size: 5
   #最小连接池数量
   min-idle: 5
   #最大连接池数量
   max-active: 20
   #获取连接时最大等待时间,单位毫秒
   max-wait: 60000
   #既作为检测的间隔时间又作为testWhileIdel执行的依据
   time-between-eviction-runs-millis: 60000
   #销毁线程时检测当前连接的最后活动时间和当前时间差大于该值时,关闭当前连接
   min-evictable-idle-time-millis: 300000
   validation-query: SELECT "x"
#申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
   test-while-idle: true
   #申请连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为true
   test-on-borrow: false
   #归还连接时会执行validationQuery检测连接是否有效,开启会降低性能,默认为true
   test-on-return: false
   #是否缓存preparedStatement
   pool-prepared-statements: true
   filters: stat,wall
#配置监控统计拦截的过滤器,去掉后监控页面sql无法统计,"wall"用于防火墙
   #当值大于0poolPreparedStatements会自动修改为true
   max-pool-prepared-statement-per-connection-size: 20
   #合并多个DruidDataSource的监控数据
   use-global-data-source-stat: true
   #通过connectProperties属性来打开mergeSql功能;慢SQL记录
   connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500


配置监控

/* 配置Druid的监控
1、配置一个管理后台的Servlet*/
@Bean
public ServletRegistrationBean statViewServlet(){
ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
    Map<String,String> initParams = new HashMap<>();

    initParams.put("loginUsername","admin");
    initParams.put("loginPassword","123456");
    //默认就是允许所有访问,加上localhost就是只允许本地访问
    initParams.put("allow","localhost");

    bean.setInitParameters(initParams);
    return bean;
}
//2、配置一个web监控的filter
@Bean
public FilterRegistrationBean webStatFilter(){
FilterRegistrationBean bean = new FilterRegistrationBean();
    bean.setFilter(new WebStatFilter());

    Map<String,String> initParams = new HashMap<>();
    initParams.put("exclusions","*.js,*.css,/druid/*");

    bean.setInitParameters(initParams);
    //拦截所有请求
    bean.setUrlPatterns(Arrays.asList("/*"));

    return  bean;
}

运行访问监控页面

有这个工具,当初做压测看时间花在哪里非常方便啊。

明天的计划:

tiles+thymeleaf拆分页面。

springboot+redis。

遇到的问题:

收获:




返回列表 返回列表
评论

    分享到