關於druid配置問題

今天在使用druid的時候,發現druid出現一系列故障。

廢話不多說,直接上零配置的yml代碼:

datasource:
  druid:
    db-type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.*.Driver
    url: jdbc:oscar://127.0.0.1:6379/*
    username: sc
    password: 2019
    initial-size: 10
    min-idle: 10
    max-active: 2000
    max-wait: 60000
    pool-prepared-statements: true
    max-pool-prepared-statement-per-connection-size: 20
    time-between-eviction-runs-millis: 60000
    min-evictable-idle-time-millis: 300000
    validation-query: SELECT 1 FROM DUAL
    validation-query-timeout: 60000
    test-while-idle: true
    test-on-borrow: false
    test-on-return: false
    connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
    web-stat-filter:
      enabled: true
      url-pattern: /*
      exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
      session-stat-enable: true
      session-stat-max-count: 1000
      principal-session-name: null
      principal-cookie-name: null
      profile-enable: true
    stat-view-servlet:
      enabled: true
      deny: null
      url-pattern: /druid/*
      reset-enable: true
      allow: 127.0.0.1
      login-username: druid
      login-password: Love.TG
    filter:
      stat:
# 開啓SQL監控
        enabled: true
        log-slow-sql: true
        slow-sql-millis: 2000
        merge-sql: true
      wall:
        config:
          multi-statement-allow: true
          drop-table-allow: false

發現SQL監控爲空,是因爲自己沒有打開stat的enable;

Spring監控配置:(但是這樣配置卻無法程序啓動了)

# Spring監控AOP切入點,如x.y.z.service.*,配置多個英文逗號分隔
aop-patterns: com.tty.service.*

 在配置過程中採用了博文(https://blog.csdn.net/jianggujin/article/details/80752709)的配置方式,但是報如下異常:

Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true

網上搜索別人說如下配置:(但我覺得不好就沒采用)

druid包請選用

druid-spring-boot-starter

 後來選擇了博文(https://blog.csdn.net/likaya20/article/details/79047064)的配置方式:

import com.alibaba.druid.support.spring.stat.DruidStatInterceptor;
import org.springframework.aop.support.DefaultPointcutAdvisor;
import org.springframework.aop.support.JdkRegexpMethodPointcut;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;

/**
 * @author Love丶TG
 */
@Configuration
public class DruidConfiguration {

    @Bean
    public DruidStatInterceptor druidStatInterceptor() {
        return new DruidStatInterceptor();
    }

    @Bean
    @Scope("prototype")
    public JdkRegexpMethodPointcut druidStatPointcut() {
        JdkRegexpMethodPointcut pointcut = new JdkRegexpMethodPointcut();
        pointcut.setPattern("com.gkym.scpc.service.impl.*");
        return pointcut;
    }

    @Bean
    public DefaultPointcutAdvisor druidStatAdvisor(DruidStatInterceptor druidStatInterceptor, JdkRegexpMethodPointcut druidStatPointcut) {
        DefaultPointcutAdvisor defaultPointAdvisor = new DefaultPointcutAdvisor();
        defaultPointAdvisor.setPointcut(druidStatPointcut);
        defaultPointAdvisor.setAdvice(druidStatInterceptor);
        return defaultPointAdvisor;
    }
}

 本人親自測試通過。(感謝博主!!!)

再後來發現shiro全攔截會攔截druid靜態資源:

filterChainDefinitionMap.put("/static/**", "anon");
filterChainDefinitionMap.put("/swagger-ui.html","anon");
filterChainDefinitionMap.put("/swagger/**","anon");
filterChainDefinitionMap.put("/webjars/**", "anon");
filterChainDefinitionMap.put("/swagger-resources/**","anon");
filterChainDefinitionMap.put("/v2/**","anon");
filterChainDefinitionMap.put("/druid/**","anon");

 也感謝網友各位大佬,一路暢通。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章