如何在ByteBuddy代理中检测/拦截Method.invoke?

时间:2019-06-10 03:00:23

标签: java byte-buddy

这似乎不起作用:

new AgentBuilder
  .Default()
  .with(initStrat)
  .ignore(not(is(Method.class)))
  .type(any()).transform(....)

此外,我只想拦截java.lang.reflect.Method.invoke类,而不要拦截Method类的其他方法。

我还能在代码的哪里看到默认情况下会忽略的类,包和模块的列表?

1 个答案:

答案 0 :(得分:0)

这似乎是正确的,但是在引导类上检测类特别棘手,因为此类类对您的代理不可见。在转换器中添加您的仪器,并通过适当的匹配器将其限制为invoke方法。

添加一个AgentBuilder.Listener,以获取有关Byte Buddy检测到的所有类的通知。