SpringBoot是如何做到一个jar包就可以直接运行的技术分享本文深入解析SpringBoot fatJar的实现原理,详细分析jar包结构、自定义jar协议解析器和类加载器机制,揭示优雅型jar包如何通过JarLauncher启动,并探讨三种运行模式及jarMode系统变量的特殊处理方式。2023-10-23 spring-boot
spring-cloud-gateway跨域配置两三事技术分享文章介绍了Spring Cloud Gateway跨域问题的解决方案,包括预检请求处理、响应头重复问题、自定义GlobalFilter、跨域白名单配置等,并探讨了前端代理请求和OPTIONS请求的跨域处理机制。2023-10-11 spring-cloud-gateway 跨域
mysql流式查询下的性能隐患问题排查MySQL流式查询利用TCP滑动窗口实现数据实时传输,避免大数据量查询OOM,但会独占连接。同时长查询可能因MDL锁阻塞DDL操作,导致系统崩溃,需设置超时或采用无锁变更方案解决。2023-10-8
shardingsphere-proxy和流式查询问题排查Canal全量ETL在ShardingSphere-Proxy分库分表场景下出现流式查询异常,原因是连接缓存池设计缺陷导致连接串用,SET命令未正确执行,最终因net_write_timeout超时断开连接。深入分析发现Proxy的流式查询机制与连接模式相关,提供了修复连接串用问题和调整数据源配置两种解决方案。2023-9-20 shardingsphere 流式查询
创建可执行jar包的多种方式技术分享本文介绍了生成可执行JAR包的三种方式:暴力型、半优雅型和优雅型,分别对应maven-assembly-plugin、maven-jar-plugin+maven-dependency-plugin组合以及onejar-maven-plugin/spring-boot-maven-plugin等方案,并分析了各方案的优缺点及适用场景。2023-7-19 java
通过IntelliJ IDEA 创建可执行jar包技术分享本文详细介绍了在IntelliJ IDEA中创建可执行jar包的步骤,包括两种依赖处理方式:暴力型(解压依赖)和半优雅型(保留原jar包)。通过6个步骤完成配置、构建和验证,最终生成可执行jar包。2023-7-19
线上问题分析——maven循环依赖导致传递依赖失效问题问题排查文章分析了一个诡异的ClassNotFound异常问题,发现是由于Maven依赖冲突机制导致json-path包未被正确引入。通过构造最小化场景,深入解析了Maven处理循环依赖的机制,最终提出三种解决方案,并强调遵守开发规范的重要性。2023-7-14 maven
线上问题分析——shardingsphere表结构缓存导致的字段错位问题排查文章分析了ShardingSphere JDBC在表结构变更后出现的字段映射异常问题,发现是由于内存缓存未及时更新导致字段错位。深入探讨了MyBatis映射机制、ShardingSphere内部实现原理,并提出了避免使用select *、通过Proxy更新表结构等解决方案。2023-6-14 shardingsphere
canal-adapter插件式架构解析技术分享摘要:本文深入解析canal-adapter的SPI机制与构建流程。SPI机制包括核心接口设计、类加载流程及自定义类加载器实现;构建流程详细介绍了插件打包、目录编排及两种运行模式(开发/生产)的配置差异,帮助理解canal-adapter的多插件架构实现原理。2023-6-27 canal canal-adapter