自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xuguofeng2016的博客

50贝里小狸猫

  • 博客(94)
  • 收藏
  • 关注

原创 seata源码分析(04)_TM开启全局事务

TM使用GlobalTransactionalInterceptorHandler拦截被@GlobalTransactional和@GlobalLock标注的全局事务方法,本文将详细分析这个类,以及对应的seata-server开启事务的逻辑。

2024-06-12 19:36:43 591

原创 seata源码分析(03)_创建代理的过程

seata提供了ProxyUtil工具类为事务组件创建代理对象,在spring环境中,seata提供了GlobalTransactionScanner类和SeataAutoDataSourceProxyCreator为组件创建AOP代理,本文重点分析这两个类。

2024-05-31 13:59:50 545

原创 seata源码分析(02)_AT和TCC基础示例

本文介绍一下如何使用seata api实现AT、TCC模式的分布式事务。

2024-05-28 15:15:20 549

原创 seata源码分析(01)_源码下载编译及启动服务

本文详细介绍下载、编译、本地运行seata的方法,为后续的seata源码分析做铺垫

2024-05-18 10:17:29 636

原创 zookeeper源码(13)客户端

通过阅读zookeeper源码深入了解客户端原理

2024-05-17 16:37:41 902

原创 zookeeper源码(12)命令行客户端

本文介绍zookeeper客户端主类以及在idea中启动客户端

2024-04-08 11:22:45 660 1

原创 zookeeper源码(11)临时节点

本文介绍zookeeper的会话管理和临时节点。

2024-03-25 15:28:05 1207

原创 zookeeper源码(10)node增删改查及监听

本文将从leader处理器入手,详细分析node的增删改查流程及监听器原理。

2024-03-11 09:23:19 631

原创 zookeeper源码(09)follower处理客户端请求

在zookeeper中,follower也可以接收客户端连接,处理客户端请求,本文将分析follower处理客户端请求的流程

2024-02-26 08:35:10 1213

原创 zookeeper源码(08)请求处理及数据读写流程

本文通过阅读zookeeper源码,分析leader、follower、observer处理请求的流程

2024-02-19 10:38:51 1291

原创 zookeeper源码(07)leader、follower和observer

本文分析zookeeper中leader、follower的核心工作流程

2024-01-30 13:04:10 1350 1

原创 zookeeper源码(06)ZooKeeperServer及子类

/ 通过zkDb从dataTree中删除Watcher监听器// 创建zkDb(为null时)并loadData加载数据// 加载数据、清理session、生成快照// 保存zkDb当前快照// 从指定的输入流解析数据,生成新的zkDb和SessionTrack// 使用zkDb.truncateLog(zxid)删除快照数据// 通过zkDb获取dataTree.lastProcessedZxid的值// 提交closeSession类型的Request来关闭会话。

2024-01-22 12:17:41 1274

原创 zookeeper源码(05)数据存储

详细分析一下zookeeper的数据存储

2024-01-09 00:08:42 1274

原创 zookeeper源码(04)leader选举流程

本文阅读zookeeper源码,详细分析leader选举流程

2023-11-07 13:19:42 407

原创 zookeeper源码(03)启动流程

本文将从启动类开始详细分析zookeeper的启动流程:1. 加载配置的过程;2. 集群启动过程;3. 单机版启动过程

2023-10-30 12:55:07 1218 1

原创 zookeeper源码(02)源码编译启动及idea导入

本文将详细介绍zookeeper源码下载、编译及本地启动,使用3.9.0版本

2023-10-23 10:48:21 1366

原创 Nacos源码 (7) Nacos与Spring

SpringCloud工程可以使用Nacos作为注册中心和配置中心,配置和使用非常简单,本文将简单介绍使用方式,并分析其实现方式。

2023-10-16 10:34:59 314

原创 zookeeper源码(01)集群启动

介绍zookeeper-3.5.7集群安装

2023-09-18 12:16:15 530

原创 Nacos源码 (6) Grpc概述与Nacos集成

Nacos 2.x版本增加了GRPC服务接口和客户端,极大的提升了Nacos的性能,本文将简单介绍grpc-java的使用方式以及Nacos中集成GRPC的方式

2023-09-18 11:50:49 2024

原创 Nacos源码 (5) Grpc服务端和客户端

Nacos 2.x在服务端与客户端直接增加了GRPC通信方式,本文通过2.0.2版本源码,简单分析GRPC通信方式:1.服务器启动,2.客户端连接;3.客户端心跳;4.服务器监控检查

2023-09-04 10:51:40 748

原创 Nacos源码 (4) 配置中心

本文阅读nacos-2.0.2的config源码,编写示例,分析推送配置、监听配置的原理。

2023-08-21 20:47:05 243

原创 Nacos源码 (3) 注册中心

本文将从一个服务注册示例入手,通过阅读2.0.2的版本nacos客户端、服务端源码,分析服务注册、服务发现原理。

2023-08-14 08:51:14 436

原创 Nacos源码 (2) 核心模块

介绍nacos的架构和主要模块

2023-08-07 09:58:44 491

原创 Nacos源码 (1) 源码编译及idea环境

本文介绍从gitee下载nacos源码,在本地编译,并导入idea进行本地调试

2023-07-31 16:31:11 1088

原创 spring启动流程 (6完结) springmvc启动流程

SpringMVC的启动入口在SpringServletContainerInitializer类,它是ServletContainerInitializer实现类(Servlet3.0新特性)。SpringMVC将大部分启动逻辑封装在了抽象WebApplicationInitializer中。本文将详细分析ServletContainerInitializer、SpringServletContainerInitializer和WebApplicationInitializer的工作流程。

2023-07-26 09:39:42 2366

原创 spring启动流程 (5) Autowired原理

本文将介绍三者Autowire:1. 构造方法参数Autowire、2. 字段和setter方法参数Autowire、3. @Bean方法参数Autowire

2023-07-17 12:10:54 327

原创 spring启动流程 (4) FactoryBean详解

实现类对象将被用作创建Bean实例的工厂,即调用getObject()方法返回的对象才是真正要使用的Bean实例,而不是直接将FactoryBean对象作为暴露的Bean实例,本文将简单介绍其实现方式。

2023-07-11 09:14:11 193

原创 spring启动流程 (3) BeanDefinition详解

BeanDefinition在Spring初始化阶段保存Bean的元数据信息,包括Class名称、Scope、构造方法参数、属性值等信息,本文将介绍一下BeanDefinition接口、重要的实现类,以及在Spring中的使用示例。

2023-07-04 08:17:23 904

原创 spring启动流程 (2) Bean实例化流程

Spring Bean实例化入口在AbstractApplicationContext类的finishBeanFactoryInitialization方法,本文将重点分析Bean实例化流程。

2023-07-02 14:55:36 197

原创 spring启动流程 (1) 流程概览

阅读AnnotationConfigApplicationContext源码,分析Spring启动流程。

2023-06-26 16:43:34 610

原创 springboot启动流程 (3) 自动装配

在SpringBoot中,EnableAutoConfiguration注解用于开启自动装配功能。本文将详细分析该注解的工作流程。

2023-06-21 12:11:27 794

原创 springboot启动流程 (2) 组件扫描

SpringBoot的组件扫描是基于Spring @ComponentScan注解实现的,该注解使用basePackages和basePackageClasses配置扫描的包,如果未配置这两个参数,Spring将扫描该配置类所属包下面的组件

2023-06-19 08:54:13 1325

原创 springboot启动流程 (1) 流程概览

本文将通过阅读源码方式分析SpringBoot应用的启动流程,不涉及Spring启动部分(有相应的文章介绍)。本文不会对各个流程做展开分析,后续会有文章介绍详细流程。

2023-06-15 09:00:39 835

原创 spring-transaction源码分析(5)TransactionInterceptor事务拦截逻辑

spring-tx的事务拦截逻辑在TransactionInterceptor类,本文将详细分析其实现方式。

2023-05-25 08:20:29 1174

原创 spring-transaction源码分析(4)AspectJ和spring-aspects模块

AspectJ是Java语言实现的一个面向切面编程的扩展库,能够基于一定的语法编写Aspect代码,使用ajc编译器将其编译成.class文件,之后在Java程序编写或加载时将Aspect逻辑嵌入到指定的切面。

2023-05-16 12:00:10 682

原创 spring-transaction源码分析(3)Transactional事务失效原因

在Transactional方法中使用this方式调用另一个Transactional方法时,拦截器无法拦截到被调用方法,严重时会使事务失效。

2023-05-11 09:50:09 434

原创 spring-transaction源码分析(2)EnableTransactionManagement注解

EnableTransactionManagement注解开启spring的注解驱动事务管理功能,通常标注在@Configuration类上面用于开启命令式事务管理或响应式事务管理。本文将详细介绍该注解的属性。

2023-05-06 10:22:15 732

原创 spring-transaction源码分析(1)概述和事务传播级别

spring-tx包使用注解驱动和AOP通知将事务开启、提交/回滚、以及复杂的传播机制封装了起来,开发者不再需要编写事务管理的代码,而是可以只关注自己的业务逻辑。本文将简单介绍spring-tx使用步骤以及七种事务传播级别。

2023-04-28 12:18:24 972

原创 Spring @Import注解源码分析

Import注解指示导入一个或多个组件类,可以是@Configuration、ImportSelector、ImportBeanDefinitionRegistrar或者其他常规组件。本文将通过阅读源码,分析Import注解的工作流程。

2023-04-14 12:57:53 289

原创 Spring AOP源码分析(深入原理)创建通知、切面匹配与创建代理

在之前的三篇文章中已经梳理了spring aop的核心内容:1. AnnotationAwareAspectJAutoProxyCreator的注入;2. AnnotationAwareAspectJAutoProxyCreator获取Advisor集、bean匹配、创建代理等;3. 切面拦截器的执行流程;但是由于时间和个人水平限制,有几个内容记录的不是很详细,比如:- 事件通知何时创建;- cglib代理的原理;- Pointcut如何匹配;本文将继续阅读spring aop源码,并结

2023-03-27 13:48:01 418

spring-tx源码分析(2)_Import注解+ServiceLog进阶示例代码.zip

Spring Import注解实现EnableXxx示例代码

2022-09-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除