- 博客(22)
- 资源 (6)
- 收藏
- 关注
原创 【SpringSecurityOAuth2】源码分析@EnableOAuth2Sso在Spring Security OAuth2 SSO单点登录场景下的作用...
目录 一、从Spring Security OAuth2官方文档了解@EnableOAuth2Sso作用 二、源码分析@EnableOAuth2Sso作用 @EnableOAuth2Client OAuth2SsoCustomConfiguration:OAuth2 SSO自定义配置 ...
2019-12-09 09:36:00
866
原创 【SpringSecurityOAuth2】源码分析@EnableOAuth2Sso在Spring Security OAuth2 SSO单点登录场景下的作用
目录【SpringSecurityOAuth2】源码分析@EnableOAuth2Sso在Spring Security OAuth2 SSO场景下的作用一、从Spring Security OAuth2官方文档了解@EnableOAuth2Sso作用二、源码分析@EnableOAuth2Sso作用@EnableOAuth2ClientOAuth2SsoCustomConfiguration:OA...
2019-12-07 15:43:58
899
原创 【Spring】简述@Configuration配置类注册BeanDefinition到Spring容器的过程
目录【Spring】简述@Configuration配置类注册BeanDefinition到Spring容器的过程概述ConfigurationClassPostProcessor如何被引入ConfigurationClassPostProcessor处理过程简述ConfigurationClassParser#parse():解析构建配置类解析构建配置类流程解析构建配置类源码分析Configur...
2019-11-26 10:51:01
490
原创 【SpringCloud】Ribbon如何自定义客户端配置和全局配置
起因事情的起因是这样的,公司内部要实现基于Zuul网关的灰度路由,在上线时进行灰度测试,故需要配置业务微服务向Eureka注册的metadata元数据,和自定义Ribbon的负载规则达到只访问灰度服务的目的。这样就需要自定义Ribbon的IRule,实现灰度请求只会负载到带有灰度标签元数据的业务微服务上,当自定义IRule规则开发好后,问题是如何将这个IRule规则配置给某个Ribbon C...
2019-07-22 10:36:00
669
原创 SpringCloud微服务如何优雅停机及源码分析
目录方式一:kill -9 java进程id【不建议】 方式二:kill -15 java进程id 或 直接使用/shutdown 端点【不建议】 kill 与/shutdown 的含义 Spring注册的Shutdown Hook EurekaAutoServiceRegistration的stop()事件 EurekaServiceRegistry#deregiste...
2019-04-22 09:28:00
571
原创 【SpringCloud Eureka源码】从Eureka Client发起注册请求到Eureka Server处理的整个服务注册过程(下)...
目录一、Spring Cloud Eureka Server自动配置及初始化 @EnableEurekaServer EurekaServerAutoConfiguration - 注册服务自动配置类 【重点1】Eureka Server上下文初始化 1、PeerEurekaNodes#start(): 初始化对等节点信息 2、PeerAwareInstanceRe...
2019-01-24 09:35:00
520
原创 【SpringCloud Eureka源码】从Eureka Client发起注册请求到Eureka Server处理的整个服务注册过程(上)...
目录Eureka Client启动并调用Eureka Server的注册接口 Spring Cloud Eureka的自动配置 @EnableDiscoveryClient EurekaDiscoveryClientConfiguration EurekaClientAutoConfiguration DiscoveryClient继承实现关系 创建...
2019-01-04 09:56:00
767
原创 【SpringCloud】Zuul在何种情况下使用Hystrix
首先,引入spring-cloud-starter-zuul之后会间接引入:hystrix依赖已经引入,那么何种情况下使用hystrix呢?在Zuul的自动配置类ZuulServerAutoConfiguration和ZuulProxyAutoConfiguration中总共会向Spring容器注入3个Zuul的RouteFilter,分别是 SimpleHostRout...
2018-11-19 13:46:00
151
原创 【SpringCloud】HystrixCommand的threadPoolKey默认值及线程池初始化
关于threadPoolKey默认值的疑问使用SpingCloud必然会用到Hystrix做熔断降级,也必然会用到@HystrixCommand注解,@HystrixCommand注解可以配置的除了常用的groupKey、commandKey、fallbackMethod等,还有一个很关键的就是threadPoolKey,就是使用Hystrix线程隔离策略时的线程池Key/** * ...
2018-11-14 10:05:00
852
原创 RestTemplate实践
一、RestTemplate是什么环境约束:spring-web-4.3.9.RELEASESpring文档: https://docs.spring.io/spring/docs/4.3.9.RELEASE/spring-framework-reference/html/remoting.html#rest-client-accessThe RestTemplate is...
2018-07-18 18:58:00
280
原创 【线上问题】由防火墙导致的数据库空闲连接断开问题
问题描述公司一个新项目上线,处于试运行阶段,这个项目虽然是外网可访问的,故部署在了DMZ区,但试运行阶段只给了公司内少部分员工地址和账号(其中包括一些领导),故访问量很小,但项目还是挺重要的。试运行阶段中,项目应用日志中不定期会报异常,尤其是在刚上午刚开始使用时,还有空闲一段时间后再次使用时,具体异常如下:ERROR [com.alibaba.druid.util.JdbcUti...
2017-06-13 09:57:00
921
原创 【Java并发编程】Callable、Future和FutureTask的实现
启动线程执行任务,如果需要在任务执行完毕之后得到任务执行结果,可以使用从Java 1.5开始提供的Callable和Future下面就分析一下Callable、Future以及FutureTask的具体实现及使用方法源码分析基于JDK 1.7一、Callable 与 Runnablejava.lang.Runnable是一个接口,只有一个run()方法public inte...
2017-05-19 10:14:00
200
原创 开源框架是如何通过JMX来做监控的(一) - JMX简介和Standard MBean
相关文章目录: 开源框架是如何通过JMX来做监控的(一) - JMX简介和Standard MBean 开源框架是如何通过JMX来做监控的(二) - Druid连接池的监控 相信很多做Java开发的同学都使用过JDK自带的 jconsole 或者 jvisualvm 监控过JVM的运行情况,但不知道有没有留意过它们会有一个MBean的功能/标签...
2017-05-14 11:27:00
613
原创 使用Eclipse Memory Analyzer Tool(MAT)分析线上故障(一) - 视图&功能篇
Eclipse Memory Analyzer Tool(MAT)相关文章目录: 使用Eclipse Memory Analyzer Tool(MAT)分析线上故障(一) - 视图&功能篇 使用Eclipse Memory Analyzer Tool(MAT)分析线上故障(二) - 概念篇 Eclipse Memory Analyz...
2017-04-27 09:45:00
768
原创 Java线程池ThreadPoolExecutor使用和分析(三) - 终止线程池原理
相关文章目录: Java线程池ThreadPoolExecutor使用和分析(一) Java线程池ThreadPoolExecutor使用和分析(二) - execute()原理 Java线程池ThreadPoolExecutor使用和分析(三) - 终止线程池原理 终止线程池主要有两个方法:shutdown() 和 shutdownNow(...
2017-04-12 10:30:00
1338
原创 Java线程池ThreadPoolExecutor使用和分析(二) - execute()原理
相关文章目录: Java线程池ThreadPoolExecutor使用和分析(一) Java线程池ThreadPoolExecutor使用和分析(二) - execute()原理 Java线程池ThreadPoolExecutor使用和分析(三) - 终止线程池原理 execute()是 java.util.concurrent.Execut...
2017-04-09 19:08:00
579
原创 Java语言定义的线程状态分析
说到线程,一定要谈到线程状态,不同的状态说明线程正处于不同的工作机制下,不同的工作机制下某些动作可能对线程产生不同的影响。 Java语言定义了6中状态,而同一时刻,线程有且仅有其中的一种状态。要获取Java线程的状态可以使用 java.lang.Thread类中定义的 getState()方法,获取当前线程的状态就可以使用Thread.currentThread().g...
2017-03-25 18:08:00
287
原创 Java线程池ThreadPoolExecutor使用和分析(一)
相关文章目录: Java线程池ThreadPoolExecutor使用和分析(一) Java线程池ThreadPoolExecutor使用和分析(二) - execute()原理 Java线程池ThreadPoolExecutor使用和分析(三) - 终止线程池原理 线程池是可以控制线程创建、释放,并通过某种策略尝试复用线程去执行任务的一种管...
2017-03-21 22:55:00
389
原创 HttpClient 4.3连接池参数配置及源码解读
目前所在公司使用HttpClient 4.3.3版本发送Rest请求,调用接口。最近出现了调用查询接口服务慢的生产问题,在排查整个调用链可能存在的问题时(从客户端发起Http请求->ESB->服务端处理请求,查询数据并返回),发现原本的HttpClient连接池中的一些参数配置可能存在问题,如defaultMaxPerRoute、一些timeout时间的设置等,虽不能确定是由...
2017-01-25 15:10:00
1345
2
原创 一道经典的线程间通信的编程题
本来是看到另一篇博文中的题目,觉得博主实现的方式有点问题,故尝试自己实现,还望大家指教。http://blog.csdn.net/u014039577/article/details/48623721问题描述启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程2打印6,7,8,9,10, 然后是线程3打印11,12,13,14,15. 接着再由线程...
2016-10-21 10:32:00
124
原创 Windows Live Writer代码插件整理
以下code插件命名按照 Windows Live Writer 中显示的插件名1、Source code plug-in(cnblogs官方推荐)界面:效果:/** * Returns the value in the current thread's copy of this * thread-local variable. If the ...
2016-10-10 15:41:00
146
原创 Zabbix2.4.7源码安装手册
一、安装Apache Server注:使用root安装后,变更拥有者为your-user1 安装环境系统:CentOS release 6.6软件:httpd-2.2.312 安装步骤2.1 准备检查依赖:Perl 5 、 apr / apr-util >= 1.2脚本(root用户):#检查是否安装rpm -qa ...
2016-10-08 15:26:00
179
TortoiseSVN 1.6.5(含中文补丁)
2013-03-11
DbVisualizer Pro 9.0 破解补丁
2013-03-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人