java - 类未传递给 ClassFileTransformer
问题描述
我一直在开发一个 Java 代理来监控我们的 Web 应用程序。我正在使用 -javaagent 参数向 JVM 添加代理。在测试过程中,我发现某些类没有传递给 ClassFileTransformer,因为它的内部类被传递给了实现。
public byte[] transform(ClassLoader loader,
String className,
Class<?> classBeingRedefined,
ProtectionDomain protectionDomain,
byte[] classfileBuffer) {
logger.info("Loaded class: " + className);
return null;
}
为调试添加了上述实现。加载实现为的类 A 时
package x.y.z;
abstract class A {
static enum Aa {
...
}
static enum Ab {
...
}
....
}
调试日志打印是
加载类:xyzA$Aa
加载类:xyzA$Ab
我找不到任何原因,为什么 xyzA 类没有打印 谁能帮我理解这个问题?
解决方案
推荐阅读
- javascript - 将动态操作(Javascript 事件)添加到第一个复选框(Oracle Apex)
- python - 在 python 和 tkinter 中延迟 Entry textchanged 事件
- vba - 从查询字段中检索超过 255 个字符
- c++ - 为什么以及何时使用 clear()
- jupyter-notebook - 如何一次将多个单元格从一个笔记本复制到另一个(粘贴后单元格不应合并)
- ruby-on-rails - Rails 6迁移在现有表之间添加外键关联
- r - 合并包含空数据框的列表时出现 cbind 错误
- node.js - 来自 AWS SSM 请求的奇怪响应
- json - Flutter run -d chrome 不获取 json url
- reactjs - 反应路由到外部链接