自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

面朝大海,春暖花开

IN IT && WIN IT

  • 博客(1090)
  • 资源 (1)
  • 收藏
  • 关注

转载 集群过半机制-为什么说3个节点,容错是1个,而4个也是 1个

在分布式系统中,容错能力指的是:​系统在部分节点故障时仍能正常工作的能力。对于基于多数派投票的机制(如 Redis Sentinel),容错能力的计算公式为:允许的最大故障节点数 = (总节点数 - 1) / 2​(向下取整)。

2025-03-06 20:56:47 49

原创 spring boot 支持jsonp请求

项目中有用到 jsonp请求,那怎么使用spring boot 实现呢。在不改动原有的框架基础上,对jsonp响应单独处理,即 实现。

2025-01-12 22:27:38 437

原创 spring boot 配置文件加载顺序问题

所以只要将这些配置放在远程配置中心,或者其他自定义 PropertySourceLocator 加载的配置中即可。

2025-01-07 16:13:17 640

转载 spring feign 读写时间设置

默认情况下,连接超时和读取超时分别为 10 秒和 60 秒。这样还不行,还需要配置。

2024-12-13 10:33:06 172

转载 spring boot - 接口返回枚举值描述

在接口返回对象时,有时候需要返回枚举的描述,如果是list,还要每次遍历处理,现通过自定义注解实现。作用在 DTO 属性内,指枚举值。

2024-12-09 17:23:13 165

原创 mybatis plus 更新为null

【代码】mybatis plus 更新为null。

2024-12-06 09:31:33 545

原创 spring boot - 接口返回枚举值描述

在接口返回对象时,有时候需要返回枚举的描述,如果是list,还要每次遍历处理,现通过自定义注解实现。作用在 DTO 属性内,指枚举值。

2024-12-06 09:28:10 681

原创 spring boot 测试 mybatis mapper类

spring boot 测试 mybatis mapper类针对 mybatis plus不启动 webserver指定加载 xml 【过滤 “classpath*:/mapper/**/*.xml” 下的xml】, mapper xml文件名和mapper java文件名称要一样,是根据文件名称过滤的。默认情况加载和解析所有mapper.xml自定义 @MapperTest注解/** * mapper 测试 * 1.不启动 web容器 * 2.指定加载xml * @Author: x

2024-12-02 15:14:51 755

原创 spring boot mapper测试类优化

会启动整个容器,包括servlet窗口和spring 容器,随着项目文件数逐渐增加,测试一个类会启动很长时间,所以这次就是实现一个注解,加快我们在spring boot中写mapper测试类时的效率。有些时候我们只需要测试在 mybatis 写的mapper 是否正确,在注入mapper的时候,

2024-11-30 21:42:06 376

原创 feign 优雅记录日志

通过创建 代理 Client , 缺点就是不仅要配置 客户端负载 client, 而且要配置普通 client。重写 feign 的 Logger 接口,个人不喜欢,这要求开启 debug 模式,而且打印东西很多。, 缺点就是 只能拦截走客户端负载的请求,普通请求拦截不到。feign 调用 结果 一般是带有格式包装的,可以包装一下。每次通过 feign 接口调用 时,都需要进行。操作,进行相同操作,所以有很多冗余。使用AOP, 定义注解。

2024-11-07 10:50:28 486

原创 编译 spring-framework 源码

只要修改 distributionUrl 的 gradle下载地址就行, 可以替换成自己加速下载url。然后耐心等待就行,中途有下载jar包失败, 再刷新gradle重新下载就行。1.克隆 spring-framework 代码。2.看import-into-idea.md。,idea 会先去下载 gradle。这次编译是 6.x 分支。我这边下载失败,找到。

2024-10-25 16:54:46 255

原创 为什么CglibAopProxy.getProxy 创建出来的对象是 Advised类型?

spring经过动态代理生成的代理对象进行类型判断时,好像一直是 Advised 类型, 即 obj instanceof Advised 是true,也没有看见有实现这个接口。这就要看看经过代理后生成的class文件到底变成了什么。

2024-10-25 16:53:59 187

转载 mysql 统计每个表记录总数

先生成 count 总数 sql, 然后 union all。

2024-10-25 16:43:27 203

原创 动态创建 AOP

有些情况下,生产环境查看问题,有些公司不能用 Arthas,需要查看方法参数及请求日志,又不方便加代码重新发布,现在通过给代码动态增加 AOP 功能,实现可以在不影响现有代码情况下查看。动态加载 jar 包,并加载 class , 动态增加 AOP 切面增强。这里实现增强的逻辑是打印切点方法执行的耗时时间,然后打包,包名为。动态增加统计接口耗时时,我们就可以添加我们的aop插件了。这样就删除了,既实现了增强,又减少了对代码的入侵。删除 加载的插件, 其中。查看已经加载的插件,

2024-10-22 18:22:27 399

原创 spring Aop 中 Advice, advisor和Advised关系

使用 spring Aop 定义增强,而不是用 AspectJ@Slf4j@Override@Bean@Bean。

2024-10-18 15:57:37 430

原创 mybatis 扩展 批量插入

不过这个最后 还是循环遍历插入,其实还有其他方式, 给 BaseMapper中增加另一个批量插入的方法。, 其实 mybatis plus 早就 实现了,只不过没有在 BaseMapper中加入。mybatis plus 中有批量插入的方法。重写 DefaultSqlInjector。可以发现 批量插入成功,并返回了自增 Id。自定义 ExtBaseMapper。

2024-10-18 15:56:27 492

原创 spring boot 集成 dynamic-datasource-spring-boot-starter

在使用多数据源时,为了不再造轮子,就使用 mybatis-plus 中的 dynamic-datasource-spring-boot-starter。现在要讲的是通过 java 代码方式 实现。在非多数据源的项目基础上加集成多数据源。一般集成直接看官网就行。

2024-10-15 09:15:35 721

原创 日志分析(二)

可以直观看出这行日志打印了多少数据。

2024-10-10 09:20:53 367

原创 日志分析删除

运维嫌弃生产环境打印日志过多,而且日志存储需要费用,让我们减少打印日志大小,所以需要分析日志在哪里打印的过多。读取生产日志文件,统计分析打印日志的地方,最后删除代码中打印日志的地方。

2024-10-08 14:49:08 372

原创 查询火车票

想查看一条车次上到每个站点的余票信息,每次都要切换目的地,很麻烦,现在要实现输入出发和目的地及车次,就可以查询到同一车次上的余票信息。

2024-09-30 15:46:26 262

转载 camunda-任务历史(待办已办)

任务流经每个节点后生成的历史操作。

2024-09-25 18:35:59 382

转载 camunda-流程实例

当流程定义部署之后,申请人就可以发起流程实例了。

2024-09-25 18:35:24 226

转载 camunda-流程定义

首先在 camunda moduler 中设计工作流,如 a.bpmn, 将其放在 spring boot 的 resources 文件夹下流程定义发布删除流程定义主要认识一下, 用来处理 流程定义相关。

2024-09-25 18:34:42 167

转载 camunda-工作流引擎

【代码】camunda-工作流引擎。

2024-09-25 18:34:02 76

转载 ThreadPoolExecutor submit和execute方法的区别

可以看到 异常被放到 FutureTask 中 ,只有在 调用 get 方法的时候才会被抛出。

2024-09-24 09:18:41 3451

转载 spring boot - 使用fastjson注解实现序列化和反序列化

以 序列化 LocalDateTime 和将时间戳反序列化成 LocalDateTime 为例。我们知道 spring boot 默认使用jackson实现序列化和反序列化(但是,如果使用 fastjson, 即。作为返回接口转换器,

2024-09-24 09:18:11 399

原创 dolphinscheduler-任务调度流程

【代码】dolphinscheduler-任务调度流程。

2024-09-14 09:18:24 577

转载 docker-comose 搭建 redis cluster集群

2.在 redis 目录下创建 redis.conf 模板文件。3.复制配置文件到各个节点目录下。假设工作目录在 redis 下。

2024-09-14 09:17:15 297

原创 xxl-job - xxl-job-admin 启动流程

xxl-job-admin启动流程。

2024-09-12 17:03:40 433

转载 自定义插件加载器

参考 dolphinscheduler@Data@Builder/*** 名称*//*** 具有优先级的插件*/@Override/*** 插件工厂*//*** 插件创建* @return*/P create();插件工厂。

2024-09-12 09:16:39 92

转载 @AutoService 注解使用

作用: 自动创建 java SPI 的接口文件及接口对应关系。可以发现,自动为我们在。

2024-09-11 09:55:19 565

原创 Xxl-Job - XxlJobExecutor执行流程

【代码】Xxl-Job - XxlJobExecutor执行流程。

2024-09-11 09:17:03 233

转载 K8s 服务注册过程

1、k8s会为每个容器注入 /etc/resove.conf 文件。2、根据这个域名解析配置,集群中的DNS请求解析获取指定服务的。

2024-09-11 09:16:26 146

转载 k8s是如何通过DNS访问service访问到POD内部

服务发现:Pod 通过服务名称访问服务,而服务名称会被集群 DNS 服务器解析为 ClusterIP。端口映射:服务定义了端口映射规则,确保请求被正确地转发到 Pod 的内部端口。流量路由:kube-proxy 负责将请求从 ClusterIP 转发到后端 Pod,并根据负载均衡策略选择一个合适的 Pod 来处理请求。通过这种方式,Kubernetes 提供了一个高度动态且易于管理的服务发现机制,使得 Pod 可以通过服务名称轻松地发现和访问其他服务,而无需关心具体的目标 IP 地址和端口。

2024-09-04 18:56:06 363

转载 kafka-KafkaConsumer.subscribe()和KafkaConsumer.assign()区别

在搜索了一番之后,发现是kafka的 subscribe() 和 assign()的区别。使用自定义消费者分区分配策略,确保每个实例只处理一个分区。如何在指定分区的情况下不会产生重复消费方式呢?有两种方式监听kafka消费者消息。这就很奇怪了,于是就探索一下。在多应用实例的情况下,

2024-09-04 09:18:16 231

转载 small-rpc 框架(八)-spring集成

回顾之前定义的注解,用于服务发现,用于客户端RPC服务注入扫描自定义注解,将其纳入spring ioc容器通过 BeanPostProcessor 后置处理器,进行服务注册和自动注入。

2024-08-27 18:48:53 90 1

转载 small-rpc 框架(七)-服务端消息处理

交给 ServiceProviderRegistry 根据接口名称查询对应的 handler, 然后用反射进行方法执行。在服务端netty启动时,我们新增了 ServerHandler 处理来自客户端的请求。

2024-08-27 11:06:48 52

转载 small-rpc 框架(六)-服务端服务发布

委托给 ServiceProviderRegistry。服务器服务发布流程,主要在。

2024-08-27 11:05:53 60

转载 small-rpc 框架(五)-服务端服务注册

注册流程, 主要是 NettyRpcServer 启动成功后将服务名称注册到zookeeper的过程。委托给ServiceRegistry进行注册。

2024-08-27 11:04:52 71

转载 small-rpc 框架(四)-客户端服务发现

这里看下客户端服务发现模板 ServiceDiscovery。

2024-08-27 11:04:05 58

空空如也

空空如也

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

TA关注的人

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