logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

springboot2+ redis+fastjson 自定义缓存管理器,设置序列化方式为fastjson

    spring boot 自动配置的缓存序列化为 JdkSerializationRedisSerializer  ,缺点大家都懂,占用过多空间,跨平台困难,可读信差,所以把他换成json的序列化方式。    当然,spring boot 也已经准备了JSON的序列化器GenericJackson2JsonRedisSerializer , Jackson2JsonRedisSeri...

#redis
skywalking7 源码解析 (3) :agent启动服务分析以及性能影响

1. 简介前2篇介绍了 agent 如何去修改我们的业务代码,以及如何去收集、发送 trace 数据,但是agent的作用不仅如此,那么他还对我们的代码做了一些什么事情,会对我们的程序造成什么样的性能影响,本文将为你揭晓2 .BootService 接口方法 SkyWalkingAgent#premain之前讲解过这是agent 的入口方法,这个方法的 前半部分都是在 加载配置文件、加载插件以及拦

#java#分布式
skywalking线程池插件,解决lambda使用问题

1. 简介分布式链路追踪其实原理都很简单,每一个请求过来的时候,把一个context存到ThreadLocal里面,然后随着线程一路传递下去就行,一个请求大多数时候都是一个线程去执行下去所以并没有什么问题,但是如果在请求中使用了ThreadPool那么ThreadLocal中的context就会失联(如果使用的是Thread,ThreadLocal是可以继续传递下去的,具体原因可以去看Thread

#java
spring boot多数据源动态切换, 多数据源事务管理

1 . 项目目标实现 不同数据源的切换 (使用AbstractRoutingDataSource)不同数据源之间,事物管理,多个数据源之间同时commit或者同时rollback兼容不同的连接池(dbpc,druid)兼容mybatis,JPA 等不同的方式 (spring- boot -starter)以上就是该项目实现的所有功能,因代码量和篇幅...

#spring boot
spring API扫描插件

1. 简介本项目是基于gamma的一个插件gammagithubcsdn本项目是用来扫描一个spring的项目中有多少个Api接口,然后收集这个API接口的入参/出参信息统计后通过http发送给后端服务项目地址:github1.1 使用场景在微服务背景下 服务之间有大量的RPC,那么当下游服务接口更变后没有及时通知到对应的上游服务,就会导致上游接口报错那是否可以在CI流水线中采集已经打包好的业务J

#java#spring
spring @Conditional 源码解析 以及@ConditionalOnMissingBean 失效之谜

## 1 .前言本文基于 spring-boot 2.2.2.RELEASE 版本,如果 因版本变动导致实际细节和本文不符,概不负责@Conditional 注解在 spring-boot中大量使用,是 spring-boot 自动配置不可缺少的一环,本文将讲解 @Conditional 的运行机制,涉及大量源码如果觉得枯燥可以直接拉到最后看结论@Conditional 虽然在spri...

到底了