Spring Bean注解方式加载BeanDefinition并实例化全过程
摘要:本文以利用Dubbo框架开发rpc服务端为例详细阐述注解方式配置类的解析、数据保存、实例化以及注入到容器中。 通常,涉及到配置参数的框架类,基本都离不开配置的解析及配置的保存;至于配置的具体使用各框架就自行处理了。对于Spring container而言,配置参数的具体使用就是在实例化Bean的时候
阅读全文
posted @
2021-06-25 09:03
池塘里洗澡的鸭子
阅读(886)
推荐(1) 编辑
五、模板方法设计模式及在Spring中的应用
摘要:如果字面理解比较抽象的话,那以生活中简单的行为为例:天热了,到了晚上妈妈都要将今天没有吃完的饭菜放入冰箱。将饭菜放入冰箱就是一个典型的模板设计:1、将冰箱门打开;2将饭菜放入冰箱;3、关闭冰箱。类推,任何需要放入冰箱的事物都需按如上的顺序进行操作,比如西瓜、面膜等。 敲重点:不变的是顺序;变化的可以
阅读全文
posted @
2021-06-23 16:33
池塘里洗澡的鸭子
阅读(625)
推荐(0) 编辑
Spring高级特性之三:@Enable*注解的工作原理
摘要:Spring Boot中阐述热插拔技术的时候,简单地提及@Enable*注解。随着多种框架的应用及深入了解,@Enable*这个注解在各种框架中应用相当普及。 那么@Enable*注解工作原理是怎么样的呢?实际通过spring家族的框架分析观察所有的@Enable*注解都有一个@Import注解。@
阅读全文
posted @
2021-06-22 15:18
池塘里洗澡的鸭子
阅读(645)
推荐(0) 编辑
Dubbo扩展点应用之四线程池
摘要:线程池也是Dubbo自动自适应扩展点之一,也可以自定义线程池。Dubbo中已实现的线程池扩展点有: 其中框架提供的线程池都是通过创建真实的业务线程池进行操作的,目前线程池模型中有两个和Java中线程池相对应: 1)fix:表示创建固定大小的线程池。也是Dubbo默认的使用方式,默认创建的执行线程数为
阅读全文
posted @
2021-06-21 23:46
池塘里洗澡的鸭子
阅读(485)
推荐(0) 编辑
Dubbo扩展点应用之一filter及@Activate自激活使用
摘要:与很多框架一样,Dubbo也存在拦截(过滤)机制,可以通过该机制在执行目标程序前后执行我们指定的代码。Dubbo中Filter只是Dubbo提供的可自定义扩展的扩展点之一。通过该扩展点地理解,可以触类旁通地理解其他类似自激活的扩展点。 那么什么是自激活?如果一个扩展点有多个实现,那么最后究竟使用哪个
阅读全文
posted @
2021-06-21 14:48
池塘里洗澡的鸭子
阅读(1736)
推荐(0) 编辑
关于TP90 TP99 等常用于评估软件系统的处理性能的指标概念
摘要:工作中还是蛮少直接接触到评估系统性能的,但是不妨碍有兴趣了解。认为这是常识,只是个人才疏学浅不了解其定义。 TP=Top Percentile,Top百分数,是一个统计学里的术语,与平均数、中位数都是一类,为等水位线(waterline)。 TP50、TP90和TP99等指标常用于系统性能监控场景,
阅读全文
posted @
2021-06-19 18:28
池塘里洗澡的鸭子
阅读(834)
推荐(0) 编辑
CentOS8安装启用telnet服务
摘要:CentOS8默认只安装telnet的客户端,其服务端telnet-server由于安全原因由用户自主选择安装。下面为实践安装启动telnet-server,注意其与vsftp服务安装的异同。 1、查看已安装的telnet,使用rpm命令。man rpm可以查看到这个命令的用法,同时这个命令具体可以
阅读全文
posted @
2021-06-14 20:08
池塘里洗澡的鸭子
阅读(2722)
推荐(0) 编辑
CentOS8 固定IP无法访问外网问题解决(ping: www.hao123.com: Name or service not known)
摘要:CentOS8虚拟机用了一段时间后,需要安装telnet-server服务,却无法正常安装。之前安装ftp服务是没有问题的,安装问题如下: 错误提示,无法下载相关元数据;网上也是0.0B/s。那么可能就是网络的问题,之前是可以访问外网的,那么ping一下外网: 这个就是虚拟机无法访问外网导致的。之前
阅读全文
posted @
2021-06-14 19:39
池塘里洗澡的鸭子
阅读(3213)
推荐(0) 编辑
Dubbo SPI机制之三Adaptive自适应功能
摘要:JDK标准中SPI机制的一个问题就是其一次性实例化扩展点所有实现,如果有扩展实现初始化很耗时,但如果没用上也加载,会很浪费资源;扩展点加载失败,其他扩展点都用不了了。Dubbo是如何解决该问题动态的选择具体的扩展点呢?使用@Adaptive。 Dubbo中的Adaptive功能,主要解决的问题是如何
阅读全文
posted @
2021-06-11 20:06
池塘里洗澡的鸭子
阅读(492)
推荐(0) 编辑
DubboSPI机制二之Dubbo中SPI初体验
摘要:Dubbo高级之一SPI机制之JDK中的SPI - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中阐述了JDK标准的SPI,并对其应用做了相应的实践。在实际应用中,很多框架都会对其进行扩展改进实现该框架下的SPI。为什么呢?根据dubbo的官方文档可知,dubbo对JDK标准的SPI的改
阅读全文
posted @
2021-06-11 01:43
池塘里洗澡的鸭子
阅读(127)
推荐(0) 编辑
Dubbo SPI机制之一JDK中的SPI
摘要:首先简单阐述下什么是SPI:SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。目前有不少框架用它来做服务的扩展发现,简单来说,就是一种动态替换发现的机制。使用SPI机制的优势是实现解耦,使得第三方服务模块的装配控制逻辑与调用者的业务代码分
阅读全文
posted @
2021-06-11 00:29
池塘里洗澡的鸭子
阅读(163)
推荐(0) 编辑
SpringMVC的web配置——JDK中SPI机制的应用
摘要:本文与其说是总结MVC的web配置,不如更精准的描述是web配置是约定的某一个标准的应用。这个标准本质是Servlet3.0以上标准的一个小知识点。 一般入门的web项目,使用集成开发工具都会自建一个web.xml的文件。该文件中配置servlet/filter/listener等相关信息。如下图:
阅读全文
posted @
2021-06-10 16:02
池塘里洗澡的鸭子
阅读(334)
推荐(0) 编辑
Dubbo基础之四管理控制台 dubbo-admin
摘要:Dubbo提供一个重要功能就是服务治理(SOA governance),什么是服务治理呢?企业为了确保项目顺利完成而实施的过程,需要进行各方面的管理。服务治理就是用来管理SOA的采用和实现的过程。 服务治理内容主要包含:服务管理、路由规则、动态配置、服务降级、访问控制、权重调整、负载均衡等。如果在开
阅读全文
posted @
2021-06-09 20:55
池塘里洗澡的鸭子
阅读(173)
推荐(0) 编辑
Dubbo基础一之实战初体验
摘要:本以为写这个小作文没什么难度的,可是好像并不是。前段时间重心放在驾考科目二,就想着小作文科二考过了再写也不是事,因为都实战过了。今天想着写却发现脑袋里啥都想不起来了,得翻项目和笔记回忆一下。所以还是那句话:好记忆不如烂笔头~别对自己的记忆力太自信,特别是有个晚上还需要你把尿的小朋友┭┮﹏┭┮ 回归主
阅读全文
posted @
2021-06-09 17:58
池塘里洗澡的鸭子
阅读(69)
推荐(0) 编辑
从观察者设计模式的角度理解Zookeeper中的Watcher
摘要:前面关于Zookeeper提供的API中,可以观察到大部分接口参数似乎都是用了Wathcerz这个接口。这个在观察者模式中略有涉及,本文重点分析从观察者模式的角度分析该接口。 首先上该接口的UML图: 通过上图可知,该接口中的内部类分别定义了watcher的类型,keeper的链接状态以及监听的事件
阅读全文
posted @
2021-06-01 00:51
池塘里洗澡的鸭子
阅读(126)
推荐(0) 编辑