有没有办法在java代理中拦截java.io.Fileclass
Is there a way to intercept java.io.File class in java agent
全部
出于某种原因,我们想拦截 java.io.File class 以添加一些日志并进行一些检查。
我试图用 Byte Buddy 创建一个 java 代理来使用 Advice 为其他 class 做这样的事情。
但它对 class 不起作用,它已经在代理预维护之前加载。我在 byte-byddy 1.10.5
我也尝试过使用重定义,或者转换,但效果不佳,不确定我是否做错了。
有办法实现吗?
您需要启用对现有 类 的重新转换。此外,您需要定义一个自定义忽略匹配器,因为默认情况下不检测引导 类。
agentBuilder
.with(RedefinitionStrategy.RETRANSFORMATION)
.disableClassFormatChanges()
.ignore(...)
全部
出于某种原因,我们想拦截 java.io.File class 以添加一些日志并进行一些检查。
我试图用 Byte Buddy 创建一个 java 代理来使用 Advice 为其他 class 做这样的事情。
但它对 class 不起作用,它已经在代理预维护之前加载。我在 byte-byddy 1.10.5
我也尝试过使用重定义,或者转换,但效果不佳,不确定我是否做错了。
有办法实现吗?
您需要启用对现有 类 的重新转换。此外,您需要定义一个自定义忽略匹配器,因为默认情况下不检测引导 类。
agentBuilder
.with(RedefinitionStrategy.RETRANSFORMATION)
.disableClassFormatChanges()
.ignore(...)