原创 【SpringSecurityOAuth2】源碼分析@EnableOAuth2Sso在Spring Security OAuth2 SSO單點登錄場景下的作用

目錄 一、從Spring Security OAuth2官方文檔瞭解@EnableOAuth2Sso作用 二、源碼分析@EnableOAuth2Sso作用 @EnableOAuth2Client OAuth2SsoCustomConf

原创 【Spring】簡述@Configuration配置類註冊BeanDefinition到Spring容器的過程

概述 本文以SpringBoot應用爲基礎,嘗試分析基於註解@Configuration的配置類是如何向Spring容器註冊BeanDefinition的過程 其中主要分析了 ConfigurationClassPostProcessor

原创 將博客搬至CSDN

將博客搬至CSDN

原创 【SpringCloud】Ribbon如何自定義客戶端配置和全局配置

起因 事情的起因是這樣的,公司內部要實現基於Zuul網關的灰度路由,在上線時進行灰度測試,故需要配置業務微服務向Eureka註冊的metadata元數據,和自定義Ribbon的負載規則達到只訪問灰度服務的目的。這樣就需要自定義Ribbon的

原创 SpringCloud微服務如何優雅停機及源碼分析

目錄 方式一:kill -9 java進程id【不建議】 方式二:kill -15 java進程id 或 直接使用/shutdown 端點【不建議】 kill 與/shutdown 的含義 Spring註冊的Shutdown Hook

原创 【SpringCloud Eureka源碼】從Eureka Client發起註冊請求到Eureka Server處理的整個服務註冊過程(下)

目錄 一、Spring Cloud Eureka Server自動配置及初始化 @EnableEurekaServer EurekaServerAutoConfiguration - 註冊服務自動配置類 【重點1】Eureka Serve

原创 【SpringCloud Eureka源碼】從Eureka Client發起註冊請求到Eureka Server處理的整個服務註冊過程(上)

目錄 Eureka Client啓動並調用Eureka Server的註冊接口 Spring Cloud Eureka的自動配置 @EnableDiscoveryClient EurekaDiscoveryClientConfigurat

原创 【SpringCloud】Zuul在何種情況下使用Hystrix

首先,引入spring-cloud-starter-zuul之後會間接引入: hystrix依賴已經引入,那麼何種情況下使用hystrix呢? 在Zuul的自動配置類ZuulServerAutoConfiguration和ZuulPro

原创 SpringCloud Zuul在何種情況下使用Hystrix及問題小結

這篇文章主要介紹了SpringCloud Zuul在何種情況下使用Hystrix 及問題小結,感興趣的朋友跟隨小編一起看看吧 首先,引入spring-cloud-starter-zuul之後會間接引入: hyst

原创 【SpringCloud】HystrixCommand的threadPoolKey默認值及線程池初始化

關於threadPoolKey默認值的疑問 使用SpingCloud必然會用到Hystrix做熔斷降級,也必然會用到@HystrixCommand註解,@HystrixCommand註解可以配置的除了常用的groupKey、commandK

原创 【線上問題】由防火牆導致的數據庫空閒連接斷開問題

問題描述 公司一個新項目上線,處於試運行階段,這個項目雖然是外網可訪問的,故部署在了DMZ區,但試運行階段只給了公司內少部分員工地址和賬號(其中包括一些領導),故訪問量很小,但項目還是挺重要的。 試運行階段中,項目應用日誌中不定期會報異常,

原创 開源框架是如何通過JMX來做監控的(一) - JMX簡介和Standard MBean

    相關文章目錄:     開源框架是如何通過JMX來做監控的(一) - JMX簡介和Standard MBean     開源框架是如何通過JMX來做監控的(二) - Druid連接池的監控       相信很多做Java開發的同學都

原创 【Java併發編程】Callable、Future和FutureTask的實現

啓動線程執行任務,如果需要在任務執行完畢之後得到任務執行結果,可以使用從Java 1.5開始提供的Callable和Future 下面就分析一下Callable、Future以及FutureTask的具體實現及使用方法 源碼分析基於JDK

原创 使用Eclipse Memory Analyzer Tool(MAT)分析線上故障(一) - 視圖&功能篇

    Eclipse Memory Analyzer Tool(MAT)相關文章目錄:     使用Eclipse Memory Analyzer Tool(MAT)分析線上故障(一) - 視圖&功能篇      使用Eclipse Me

原创 Java線程池ThreadPoolExecutor使用和分析(一)

    相關文章目錄:     Java線程池ThreadPoolExecutor使用和分析(一)     Java線程池ThreadPoolExecutor使用和分析(二) - execute()原理     Java線程池ThreadP