![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java第三方集成框架
文章平均质量分 94
Armyyyyy丶
知其然知其所以然。
展开
-
【番外】Springboot集成推荐配置及十问RocketMQ
初学rocketMq过后觉得对这个框架很熟悉了,但如果让你立马回答一些实际应用中的问题,是否能对答如流呢?深入浅出后,自己列了使用中会产生的10个疑问一一解答,并附上springboot集成rocketMq的推荐方式原创 2024-07-12 10:03:59 · 773 阅读 · 0 评论 -
(八)Mybatis持久化框架原理之不同Executor对比和Spring事务关系
在这篇文章中将会分析不同的Executor和SqlSession的实现原理差异,同时也会分析Mybatis和Spring的事务处理差异并比较他们之间的优先级与关系。原创 2024-06-06 15:27:34 · 326 阅读 · 0 评论 -
阿里熔断限流框架Sentinel实现流程和动态规则数据源
本篇文章主要介绍熔断限流框架Sentinel的使用示例、组成原理和动态规则数据源的实现原理。原创 2023-05-09 14:46:43 · 846 阅读 · 0 评论 -
(一)Springcloud-OpenFeign原理之集成改造原生Openfeign与简单使用
文章将会介绍Springcloud-Openfeign对原生Openfeign的改造原因及方式,最后提供简单的使用案例及扩展点分析,需要提前了原生Openfeign和Spring容器的相关原理原创 2023-05-06 16:27:11 · 728 阅读 · 0 评论 -
原生OpenFeign相较于传统HTTP工具的优化和原理
本篇介绍的是springcloud-openfeign的底层框架io.github.openfeign,重点不是其框架如何使用,而是介绍Feign如何基于传统HTTP工具使用方式进行抽象改进,提升其灵活性。并简单介绍一下其抽象组件及主要组件的使用时机原创 2023-05-05 15:40:39 · 1759 阅读 · 5 评论 -
Java中性能超越各个BeanUtils的Object对象属性映射框架MapStruct常规使用方式和技巧
本文主要介绍MapStruct的基本应用和@Context+expression实现开发时常见的复杂场景,如List转List带自定义参数、List中某参数需要调用其它类的复杂处理或Map转普通Object对象的使用方式等原创 2023-03-14 14:23:59 · 1904 阅读 · 0 评论 -
Disconf、Apollo和Nacos分布式配置框架差异对比
对比国内Disconf、Apollo和Nacos三款分布式配置中心的差异原创 2023-02-20 16:56:21 · 551 阅读 · 0 评论 -
Zookeeper ZAB协议中FLE选举通信流程
文章将着重介绍ZAB协议第一阶段的FLE算法核心流程,最后将分析集群添加Follower和Observer等问题的运行流程和注意点。原创 2022-07-06 15:47:51 · 629 阅读 · 0 评论 -
(十六)Zookeeper原理源码分析之Watcher监听实现原理及关键源码解析
本篇将会从三点来解析Watcher的实现,1. 触发事件处理对象及时机;2. 触发的事件类型;3. 如何触发事件及原理原创 2022-03-10 18:00:02 · 2334 阅读 · 0 评论 -
(十五)Zookeeper原理源码分析之数据日志文件归档
本篇将会从三点出发分析ZK的日志归档,顺便扩展一下相关的逻辑1. 介绍两种日志文件的作用和不同点;2. 分析两种日志文件序列化和反序列化的时机(从无到有,重启读取);3. 两种日志文件的清理时机。原创 2022-03-10 11:09:01 · 2559 阅读 · 0 评论 -
(十四)Zookeeper原理源码分析之树形数据结构
ZK的数据结构是什么?内部是怎样构成的?且数据是如何动态变化及满足ZK的高性能查询的?本篇将会做个简单的归纳,原创 2022-03-07 20:13:20 · 2109 阅读 · 2 评论 -
(二)RocketMq与Spring的集成开发原理之传统Spring和Springboot方式
主要介绍的是传统的Spring项目和Springboot项目集成RocketMq的最佳实践,以及扩展性的简单说明一下Springboot集成的原理。原创 2022-01-14 16:22:31 · 720 阅读 · 0 评论 -
(一)RocketMq与Spring的集成开发原理之RocketMq简介
本文章主要介绍的是RocketMq的一些基本概念,如消费者生产者和Broker这些的含义,并且会介绍部署时每个角色的启动交互逻辑,看完这篇文章将会对NameServer、BrokerServer、Producer和Consumer这四个主要角色之间的通信数据交互关系有个大概的了解。原创 2021-12-29 16:46:10 · 1341 阅读 · 0 评论 -
(十三)Zookeeper原理源码分析之集群数据同步(广播模式)建立通信连接原理源码分析
1.前话在前面的文章已经分析过了ZK集群数据同步(广播模式)建立通信连接的流程了,本次文章便分析一下建立通信连接的源码层面逻辑。注:本篇基于ZK版本3.4.8分析的。2.建立通信相关角色及流程图数据同步建立通信的流程可以看成是古代附属王朝向中央王朝进行朝贡的流程,即各个Follower主动向Leader发送连接请求,Leader接收到各个Follower机器的请求后生成对应的处理器,这些处理器可以看成是中央王朝派遣的接待使。当然这中间肯定是要经过一系列的逻辑确定Leader机器是否是真正合格原创 2021-04-16 17:11:17 · 414 阅读 · 0 评论 -
(十二)Zookeeper原理源码分析之集群数据同步(广播模式)流程原理分析
目录1.前话2.Leader机器与Follower机器建立通信2.1 相关角色及交互关系2.2 建立通信交互流程图3.Leader接收到客户端的Request请求3.1 Leader机器RequestProcessor链3.2 Leader接收Request请求并同步数据4.Follower接收到客户端的Request请求4.1 Follower机器RequestProcessor链4.2 Follower接收Request请求并通过Leader同步数据5.ZK集原创 2021-04-13 17:41:20 · 530 阅读 · 0 评论 -
(十一)Zookeeper原理源码分析之FLE(FastLeaderElection)算法集群选举原理流程源码解析
目录1.前话2.源码分析2.1 FastLeaderElection选举发送通知2.2 通信对的SendWorker对象监听集合并发送消息2.3 通信对的RecvWorker对象接收消息2.4 WorkerReceiver处理通信对接收到的消息2.5 FastLeaderElection对象处理集群响应消息2.6 QuorumPeer处理选举结果1.前话前面一篇已经分析过了FLE算法各个机器间创建通信结构的流程源码,即分析原理流程的时候各个机器是可以正常的发送及接收消原创 2021-03-31 11:12:07 · 376 阅读 · 4 评论 -
(十)Zookeeper原理源码分析之FLE(FastLeaderElection)算法集群构建集群内部通信对源码解析
目录1.前话2.源码分析2.1 QuorumPeer对象发起投票2.2 FastLeaderElection选举发送通知2.3 WorkerSender选择机器并发送通知2.4 QuorumCnxManager连接机器并发送消息2.5 Listener监听Socket连接1.前话在前面一篇已经分析过了FLE的原理流程以及通信结构,接下来便详细分析一下ZK集群在建立通信结构源码层面的操作流程,在进行接下来的源码通信流程前需要对这个流程有一个大概的认识,否则很容易分析到一半便原创 2021-03-27 22:56:09 · 407 阅读 · 0 评论 -
(九)Zookeeper原理源码分析之FLE(FastLeaderElection)算法集群选举通信原理及流程结构
目录一、集群通信结构及流程1.前话2.集群通信结构3.集群通信流程3.1 创建通信模块流程3.2 选举通信流程一、集群通信结构及流程1.前话上一篇说明了ZK集群的基本结构和重要组件,分析了在ZK集群启动时哪些重要的组件在起作用,这一篇将会续着上一篇往下开始分析ZK集群选举流程,来分析选举细节、选举流程、机器间如何完成交互通信的以及启动流程中的那些组件在其中起到何种作用。简单来说,便是分析上篇文章说的五个要点中的第二个和第三个要点。至于ZK集群的数据同步放到下篇文章再来分析原创 2021-03-17 23:44:48 · 373 阅读 · 0 评论 -
(七)Zookeeper原理源码分析之心跳检测流程源码分析-单机Server服务端与Client客户端
目录一、源码解析1.Client发送ping请求1.1 SendThread心跳检测发起者1.2 ClientCnxnSocket套接字交互类2.Server端接收处理响应数据2.1 NIOServerCnxnFactory接收NIO请求2.2 连接对象NIOServerCnxn2.3 单机运行的ZooKeeperServer2.4 SessionTracker校验Session时间2.5 RequestProcessor请求处理链2.6 NIOServerCnx原创 2021-01-27 17:25:39 · 1769 阅读 · 0 评论 -
(八)Zookeeper原理源码分析之集群启动组件构成、启动流程源码分析和集群配置文件参数分析
目录一、集群组件构成1.前话2.集群基本组件3.启动流程分析二、配置文件参数分析1.配置文件实例2.参数解析表3.参数细节说明三、启动流程源码分析1.启动类QuorumPeerMain2.文件解析类QuorumPeerConfig3.日志文件处理器DatadirCleanupManager4.ZK集群对象QuorumPeer5.集群连接管理对象QuorumCnxManager一、集群组件构成1.前话从本篇开始便是有关ZK集群有关原理源码结构原创 2021-03-06 22:52:18 · 311 阅读 · 0 评论 -
(六)Zookeeper原理源码分析之心跳检测流程及Session时间参数解析-单机Server服务端与Client客户端
目录一、交互重要组件及流程1.前话2.交互流程2.1 Client端发起连接2.2 Server接收处理及响应2.3 Client端接收Server端响应二、Session时间参数解析1.ZK服务器配置2.SessionTracker计算清除失效时间间隔3.SessionTracker具体的Session清除时间4.Client端Session相关属性及作用一、交互重要组件及流程1.前话上几篇文章分析过了ZK的单机架构以及大致的新建连接交互流程,本篇便原创 2021-01-27 17:18:38 · 4766 阅读 · 6 评论 -
(五)Zookeeper原理源码分析之新建连接交互流程源码分析-单机Server服务端与Client客户端
目录一、重要源码分析1.Client端发起连接1.1 ZooKeeper入口类1.2 ClientCnxn连接交互类1.3 SendThread发送连接请求1.4 ClientCnxnSocket套接字交互类2.Server端接收处理响应数据2.1 NIOServerCnxnFactory接收NIO请求2.2 连接对象NIOServerCnxn2.3 单机运行的ZooKeeperServer2.4 session追踪类SessionTracker2.5 Req原创 2021-01-14 20:16:16 · 639 阅读 · 0 评论 -
(四)Zookeeper原理源码分析之新建连接交互流程分析-单机Server服务端与Client客户端
目录一、交互重要组件及流程1.前话2.交互流程2.1 Client端发起连接2.2 Server接收处理及响应2.3 Client端接收Server端响应二、重要源码分析一、交互重要组件及流程1.前话上一篇文章分析过ZK服务端的重要组件以及单机情况下的启动流程,了解了ZK的基本组成。如有兴趣的可以直接跳转至(二)Zookeeper原理源码分析之单机Server服务端组件架构启动流程分析和(三)Zookeeper原理源码分析之Client客户端重要组件架构组成。对于原创 2021-01-14 20:01:44 · 449 阅读 · 0 评论 -
(三)Zookeeper原理源码分析之Client客户端重要组件架构组成
目录一、Client客户端架构组件1.前话2.基本组件2.1 ClientCnxn及内部类2.2 信息载体类Packet2.3 Watcher之监听组件3.主要组件交互一、Client客户端架构组件1.前话第二篇介绍了Server服务端的重要组件架构以及启动流程,感兴趣的可以跳至(二)Zookeeper原理源码分析之单机Server服务端组件架构启动流程分析观看。这一篇要介绍的是ZK的Client客户端重要架构组件,这个部分是我们平时开发连接ZK用的最多的,不管是原创 2020-12-18 11:31:41 · 408 阅读 · 2 评论 -
(二)Zookeeper原理源码分析之单机Server服务端组件架构启动流程分析
目录一、Server服务端架构组件1.前话2.基本组件2.1 RequestProcessor2.2 Record2.3 DataTree及DataNode监听2.4 NIO的ServerCnxn组件3.启动流程二、启动流程源码简析1.入口启动类ZooKeeperServerMain2.解析配置类ServerConfig3.NIOServerCnxnFactory设置主要启动组件4.单机Server类ZooKeeperServer5.ZKDatabas原创 2020-12-01 14:24:24 · 609 阅读 · 3 评论 -
(一)Zookeeper原理源码分析之简介功能介绍
目录一、Zookeeper出现背景二、Zookeeper基本架构1.数据模型2.系统模型三、Zookeeper提供的功能1.命名服务(NameService)2.配置管理(Configuration)3.集群管理(GroupMembers)4.分布式锁四、基本概念及工作原理1.角色2.工作原理2.1.选主流程2.2.同步流程2.3.主要功能2.4.client和follower之间的通信一、Zookeeper出现背景加入存在一个服务器集原创 2020-11-18 17:07:05 · 413 阅读 · 0 评论 -
(三)Logback-slf4j日志之常用两种方式打印实现原理
目录一、常用类配置项二、实现原理1.UML图2.实现流程图三、源码分析1.Logger2.AppenderAttachableImpl3.UnsynchronizedAppenderBase4.OutputStreamAppender5.ConsoleAppender6.RollingFileAppender7.LayoutWrappingEncoder8.PatternLayout9.PatternLayoutBase一、常用类配置项下列是常原创 2020-10-22 16:41:35 · 1654 阅读 · 0 评论 -
Disconf-Client端原理分析和使用思考
目录一、结构组成1.模块组成2.UML类图3.数据结构二、原理流程1.配置类2.配置文件3.注解类4.原理分析4.1 Disconf核心加载流程原理4.2 监听下载文件流程原理三、使用思考1.搭配注解的简易使用配置2.注解方式使用二次加载3.无侵入式另类的简易配置本次只基于@DisconfFile和@DisconfFileItem两个注解搭配使用的情况,@DisconfItem等注解的组成和数据结构将不会分析。一、结构组成1.模块组成原创 2020-08-12 17:45:10 · 633 阅读 · 0 评论 -
SpringMVC框架中@ControllerAdvice和对应Advice切面使用原理
目录一、简介二、@ControllerAdvice注解的处理获取1.@ControllerAdvice注解2.ControllerAdviceBean类三、Request请求和Response响应对应接口切面1.RequestBodyAdvice接口2.ResponseBodyAdvice接口四、Advice切面的读取和调用原理1.RequestMappingHandlerAdapter类读取@ControllerAdvice注解类2.RequestResponseB原创 2020-08-05 17:52:49 · 2597 阅读 · 0 评论 -
SpringMVC框架中@ControllerAdvice和@ExceptionHandler注解使用原理
目录一、简介二、@ControllerAdvice注解的处理获取1.@ControllerAdvice注解2.ControllerAdviceBean类三、搭配@ExceptionHandler注解统一处理异常1.@ExceptionHandler注解2.ExceptionHandlerExceptionResolver异常解析类3.ExceptionHandlerMethodResolver解析@ExceptionHandler注解4.系统抛出异常调用链4.1 Di原创 2020-08-05 14:27:28 · 1431 阅读 · 0 评论 -
Spring框架中使用AOP实现自定义重试切面注解功能
目录一、背景二、使用@Aspect注解实现1.@Retry注解2.@Aspect切面三、切入AOP流程实现切面逻辑1.Advice切面处理类2.Pointcut切面切入点3.Advisor类4.Advisor可插拔式通过@Bean注入到Spring工厂4.1 可插拔式配置类4.2 可插拔式注解开关4.3 注入到Spring工厂的实现原理5.通过BeanPostProcessor接口实现5.1 实现对应的BeanPostProcessor5.2 引入原创 2020-08-03 14:03:46 · 1465 阅读 · 0 评论 -
(三)Spring框架原理之@Configuration及搭配注解接口源码分析(下)
目录一、源码分析1.ConfigurationClassParser解析类1.1 解析配置类的@Component注解1.2 processPropertySource解析@PropertySources注解1.3 ComponentScanAnnotationParser解析@ComponentScan注解1.4 processImports解析@Import注解1.5 retrieveBeanMethodMetadata解析获取@Bean注解2.Configuration原创 2020-07-25 16:56:54 · 289 阅读 · 0 评论 -
(三)Spring框架原理之@Configuration及搭配注解接口源码分析(上)
目录一、相关注解及接口1.相关注解2.相关接口二、流程分析三、源码分析1.ConfigurationClassPostProcessor注册原理1.1 传统Spring的XML配置1.2 Springboot添加方式2.Spring调用BeanFactoryPostProcessor接口3.ConfigurationClassPostProcessor类的执行流程在看本篇时推荐去看一下Spring的大致框架说明。传送门:(一)Spring框架原理之核心架构组成原创 2020-07-25 16:52:14 · 520 阅读 · 0 评论 -
Spring框架中@Scope原型、单例实现原理和使用细节
目录一、@Scope原型、单例实现原理1.@Scope配置单例2.@Scope配置原型3.实现原理二、使用细节1.原型失效示例1.1 Controller1.2 Service2.原型成功示例2.1 第一种生效方式2.2 第二种生效方式三、总结一、@Scope原型、单例实现原理在Spring框架中可以使用@Scope注解声明需要创建的bean是原型或者是单例类型的,如果是原型则每次调用getBean获取到的对象都是不同的;如果是单例则调用getBean原创 2020-07-15 17:27:24 · 1604 阅读 · 2 评论 -
Spring框架中@Lazy延迟加载原理和使用细节
目录一、@Lazy延迟加载原理1.延迟加载原理1.1 @Lazy三种配置方法1.2 @ComponentScan配置延迟加载1.3 加载原理2.延迟加载实现原理2.1 AbstractApplicationContext2.2 DefaultListableBeanFactory二、使用细节1.@Lazy失效实例1.1 Controller非延迟加载类1.2 Service延迟加载类1.3 结果输出2.@Lazy起效实例2.1 修改的Control原创 2020-07-14 15:40:05 · 23569 阅读 · 0 评论 -
(二)Spring框架原理之实例化bean和@Autowired实现原理
目录一、UML类图及流程分析1.UML类图组成2.流程分析二、源码分析1.DefaultListableBeanFactory类实例化bean部分2.AbstractBeanFactory抽象类3.AbstractAutowireCapableBeanFactory抽象类4.DefaultSingletonBeanRegistry类5.AutowiredAnnotationBeanPostProcessor类6.InjectionMetadata类7.Autowi原创 2020-07-11 16:51:00 · 8965 阅读 · 0 评论 -
(一)Spring框架原理之核心架构组成
目录一、UML类图及核心组件分析1.UML类图分析2.核心组件关系二、源码分析前提说明,这个核心架构组成只是个人划分的,不代表官方意见,这样划分只是为了更方便的理解和分析Spring框架。一、UML类图及核心组件分析1.UML类图分析其关键的UML类图如下:看起来稍微复杂了点,但如果按接口的继承关系和作用来划分,我们可以大致分为七个部分:BeanFactory部分:Spring工厂的基本接口,这部分包含了图中每个以BeanFactory结尾的类,其中我们使用的原创 2020-07-11 16:42:41 · 296 阅读 · 0 评论 -
WebSocket使用实例及集成原理
目录一、概述1.简介2.优点二、WebSocket请求数据格式1.request请求数据格式2.response相应数据格式三、spring集成实例1.jar包2.前端页面3.后台代码四、集成原理1.Tomcat请求流程2.切入点ServerEndpointExporter类3.创建连接及发送消息等原理3.1 创建连接3.2 发送消息3.3 关闭和抛异常一、概述1.简介WebSocket是一种在单个TCP连接上进行全双工通信的协原创 2020-07-07 15:24:31 · 633 阅读 · 0 评论 -
(七)Mybatis持久化框架原理之@MapperScan注解方式和Spring集成
目录一、Mybatis和Spring集成项目准备1.DbConfig配置类2.SystemCst常量类二、UML类图和流程分析1.UML类图分析2.流程分析三、源码分析1.MapperScannerConfigurer类一、Mybatis和Spring集成项目准备学习本篇前可先看(六)Mybatis持久化框架原理之MapperScannerConfigurer方式和Spring集成,了解最基本的mybatis-spring集成方式后再来学习此方式效果更好。第五篇中原创 2020-07-06 14:23:20 · 939 阅读 · 1 评论 -
(六)Mybatis持久化框架原理之MapperScannerConfigurer方式和Spring集成
目录一、Mybatis和Spring集成项目准备1.applicationContext.xml配置文件改动二、UML类图和流程分析1.UML类图分析2.流程分析三、原理分析1.SqlSessionFactoryBean2.MapperScannerConfigurer3.ClassPathBeanDefinitionScanner4.ClassPathMapperScanner一、Mybatis和Spring集成项目准备学习本篇前可先看(五)Mybatis持原创 2020-07-06 11:24:06 · 495 阅读 · 1 评论