(目录) Agent探针模式下动态刷新源码阅读: 插件分析 ①spring-piugin-common包: EventPublishingRunListenerEnvironmentPreparedInterceptor EventPublishingRunListenerEnvironmentPreparedInterceptor:事件发布运行监听环境准备的监听器的拦截器 读取配置文件信
(目录) 一、 spring环境下动态刷新源码分析 应用运行时动态变更线程池参数,包括不限于核心、最大线程、阻塞队列大小和拒绝策略等,支持应用集群下不同节点线程池配置差异化 1. 注解标记线程池实例 线程池上加@Bean注解注入到Spring容器中,使用 @DynamicThreadPool 注解标记他为动态线程池 2.配置中心更新配置的监听器 注册配置中心的监听器于项目中,比如Apollo
(目录) ※ 抽象Agent模块 (一条指令挂载所有plugins 和 通用的类与方法的字节码增强框架) ※ 可插拔式插件加载实现要点分析 怎么做到只指定一个-javaagent参数 怎么加载多个plugin? 怎么把typeDescription和要拦截的method对应起来 怎么把typeDescription和要拦截的method的拦截器Interceptor对应起来 接下来我们依
(目录) 使用 ByteBuddy类库 和 JavaAgent机制 实现 类似 SkyWalking-Agent 模式下的无侵入式的动态可插拔功能 准备工作 新建一个springboot程序,带有一个查询数据库的接口 由于程序简单,这里只贴出一些需要的代码 @RestController @RequestMapping("/userInfo") public class U
(目录) Java ClassLoader ClassLoader 做什么的? 众所周知, Java 或者其他运行在 JVM(java 虚拟机)上面的程序都需要最终便以为字节码,然后被 JVM加载运行,那么这个加载到虚拟机的过程就是 classloader 类加载器所干的事情.直白一点,就是 通过一个类的全限定类名称来获取描述此类的二进制字节流 的过程. 有很多字节码加密技术就是依靠定制
(目录) Java Agent 踩坑点 1. 依赖冲突、加载隔离 为什么需要对 Java Agent 做类加载隔离呢?用一个例子来说明不进行类加载隔离会出现什么问题: log4j依赖冲突 案例分析 在我们的 Java Agent中,因为需要打印日志,所以我们引入了如下依赖log4j-core 2.14.1: <dependency> <groupId>org.a
(目录) Java Agent 背景 因在做到Skywalking Agent的时候,并没有修改程序中任何一行 Java 代码,就可无侵入式的使用组件,便使用到了 Java Agent 技术,接下来对学习学习Java Agent 技术 Java Agent 是什么 Java Agent这个技术对大多数人来说都比较陌生,但是大家都都多多少少接触过一些。 实际上我们平时用过的很多工具都是基于jav
(目录) ByteBuddy 介绍 Byte Buddy 是一个代码生成和操作库,用于在 Java 应用程序运行时创建和修改 Java 类,而无需编译器的帮助。 除了 Java 类库附带的代码生成实用程序外,Byte Buddy 还允许创建任意类,并且不限于实现用于创建运行时代理的接口。此外,Byte Buddy 提供了一种方便的 API,可以使用 Java 代理或在构建过程中手动更改类。 官
(目录) Hippo4j 用户体系对接 LDAP Feature: server add Ldap user authentication issue:https://github.com/opengoofy/hippo4j/pull/1392 Hippo4j 接入Ldap指导 在 application.properties 配置文件中 , 配置下面相关信息: 此配置文件示例在同目录下
(目录) 对接Ldap服务疑问 1. 怎么保证 其他人的Ldap服务器目录 与 Java代码检索结构 一样 ? 列举可能的结构: cn=hhhh , dc =xxxx , dc= xxx (唯一字段不一样) uid=hhhh , dc = xxxx ,dc = xxxxx uid=hhhh , ou=xxx ,dc = xxxx ,dc = xxxxx 2. 对接其他服务器时,怎么
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号