Byte Buddy Java Agent with method delegation to interceptor
private static AgentBuilder createAgent(Class<? extends Annotation> annotationType, | |
String methodName) { | |
return new AgentBuilder.Default().type( | |
ElementMatchers.isAnnotatedWith(annotationType)).transform( | |
new AgentBuilder.Transformer() { | |
@Override | |
public DynamicType.Builder<?> transform( | |
DynamicType.Builder<?> builder, | |
TypeDescription typeDescription, | |
ClassLoader classLoader) { | |
return builder | |
.method(ElementMatchers.named(methodName)) | |
.intercept(MethodDelegation | |
.to(LoggingInterceptor.class) | |
.andThen(SuperMethodCall.INSTANCE)); | |
} | |
} | |
); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment