摘要: 前言 Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。很久之前写过一篇文章java应用线上诊断神器--Ar 阅读全文
posted @ 2024-04-23 09:12 Linyb极客之路 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 前言 在日常业务开发中过程,我们有时候为了业务解耦,会利用spring的机制,就是利用spring提供的ApplicationListener、ApplicationEventMulticaster等核心API来实现。(注: 我这边列的是核心底层API接口,正常我们会用监听事件用@EventList 阅读全文
posted @ 2024-04-02 11:02 Linyb极客之路 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 前言 去年更新了一系列和SPI相关的内容,最近因为业务需要,我又基于业务场景,实现了一版。对于什么是spi,很久之前有写过一篇文章,java之spi机制简介感兴趣的朋友可以蛮看一下 需求分析 用过原生jdk提供的spi的朋友,应该会知道原生jdk的spi有个缺陷,就是没法实现按需加载,因此本文的实现 阅读全文
posted @ 2024-03-26 09:01 Linyb极客之路 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 前言 如果对springcloud-gateway有了解的同学,应该会知道springcloud-gateway默认提供了一个基于内存的路由定义仓库。 org.springframework.cloud.gateway.route.InMemoryRouteDefinitionRepository 阅读全文
posted @ 2024-03-12 10:03 Linyb极客之路 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 前言 之前业务部门有2个通用响应类,一个是负责和前端交互的响应类AjaxResult,一个是负责和后端RPC接口交互的响应类RpcResult。一开始这两个响应类的值字段都一样,形如下 private Boolean success; private String message; private 阅读全文
posted @ 2024-03-05 10:25 Linyb极客之路 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 前言 在我们开发微服务项目的过程中,难免会依赖各种jar,开发环境可能引用1.0.0-SNAPSHOT,而到了正式环境,则需要引用1.0.0。之前我们的做法是通过pom配置profile来达到不同环境,使用不同的版本。形如下 <profiles> <!-- 开发环境 --> <profile> <p 阅读全文
posted @ 2024-02-27 09:43 Linyb极客之路 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 前言 最近因为uat环境https过期,后边进行证书续期,发现通过浏览器访问可以正常访问,但是接口调用该地址,却出现 unable to find valid certification path to requested target 网上的大部分针对java解决方案可以归类如下两种 1、在jdk 阅读全文
posted @ 2024-01-23 09:40 Linyb极客之路 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 前言 之前写过一篇文章聊聊如何实现热插拔AOP,今天我们继续整一个类似的话题,聊聊如何实现spring拦截器的动态加载 实现核心思路 groovy热加载java + 事件监听变更拦截器 实现步骤 1、在项目的pom引入groovy GAV <dependency> <groupId>org.code 阅读全文
posted @ 2024-01-16 10:45 Linyb极客之路 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 前言 最近业务部门接手供方的项目过来二开,其中有个认证实现因为业务需要,需要替换原有供方实现的逻辑。大概伪代码如下。供方提供的接口以及默认实现形如下 public interface AuthCodeService { default Boolean check() { return true; } 阅读全文
posted @ 2024-01-09 09:22 Linyb极客之路 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 前言 之前偶然看到一篇文章利用aop实现热拔插(类似于插件),里面的实现挺好玩。今天我们也来玩一把 前置知识 Advice: org.aopalliance.aop.Advice “通知”,表示 Aspect 在特定的 Join point 采取的操作。包括 “around”, “before” a 阅读全文
posted @ 2023-12-19 09:45 Linyb极客之路 阅读(40) 评论(0) 推荐(0) 编辑