1
我需要從自定義註釋中檢索參數並將它們傳遞給攔截器。例如,使用字節夥伴檢索自定義註釋的參數
@MyAnnotation(id="Some", enumpar=SomeEnum.SOMECONSTANT)
public String sayHello() {
}
我想使用的值id,enumpar在下面的攔截
@RuntimeType
public Object intercept(@SuperCall Callable<?> zuper) throws Exception {
// interception stuff
return zuper.call();
}
所以,我怎麼能擴展基類,包括註釋參數?我有以下的,現在
Class<?> enhancedClass = new ByteBuddy()
.with(new NamingStrategy.SuffixingRandom("Proxy"))
.subclass(clazz)
.method(isAnnotatedWith(MyAnnotation.class))
.intercept(MethodDelegation.to(new ListenerMetricsInterceptor()))
.make()
.load(Thread.currentThread().getContextClassLoader(), ClassLoadingStrategy.Default.WRAPPER)
.getLoaded();
非常感謝。我之前嘗試過,但是使用了「net.bytebuddy.jar.asm.commons.Method」中錯誤的Method類,但意識到我應該使用「java.lang.reflect.Method」。再次感謝。 – devin