Вы пытаетесь применить совет, который вы написали? Для этого вам нужно использовать AgentBuilder
API:
new AgentBuilder.Default()
.type(...)
.transform((builder, type, classLoader, module) -> builder.visit(Advice
.withCustomConfiguration()
.bind(MyAnnotation.class, arg)
.to(TimerAdvice.class)
.on(...))
.installOn(instrumentation);
Теперь вы можете использовать:
static long enter(@Advice.Origin String method,
@Advice.AllArguments Object[] args,
@MyAnnotation String arg) { ... }
Вы также можете использовать @Advice.Argument(0)
, если хотите только чтение HttpUriRequest
. Просто убедитесь, что вы используете RetentionPolicy.RUNTIME
.