Я хочу перехватить некоторые методы с помощью ByteBuddy. Когда я использую InvocationHandlerAdapter.of(invocationHandler)
, я не могу вызвать супер метод. Экземпляр объекта удержания не подходит для моего случая. Я хочу точно так же, как в CGLIB, как показано ниже.
(MethodInterceptor)(obj, method, args, proxy)->{
// to do some work
Object o = proxy.invokeSuper(obj,args);
// to do some work
return o;
}
Как я могу добиться метода перехвата в ByteBuddy, как это?
Я пробовал MethodCall
тип Implemetation
, но это не решило моипроблема. Потому что я не могу управлять MethodCall.invokeSuper()
в этом случае.
.intercept(MethodCall
.run(() -> System.out.println("Before"))
.andThen(MethodCall.invokeSuper())
.andThen(MethodCall
.run((() -> System.out.println("After")))))