有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何插入/截取方法。在ByteBuddy代理中调用?

这似乎不起作用:

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

另外,我只想截取java.lang.reflect.Method.invoke,而不截取Method类的其他方法

另外,在代码中的哪里可以看到默认情况下被忽略的类、包和模块的列表


共 (1) 个答案

  1. # 1 楼答案

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

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