как использовать bytebuddy, чтобы получить ввод функции и возвращаемое значение - PullRequest
0 голосов
/ 01 марта 2019

как использовать bytebuddy для получения ввода функции и возвращаемого значения.

Я знаю, что могу использовать @ Advice.AllArguments для получения аргументов метода, но я могу только получить их значение, как получить тип аргументова также.

Еще один вопрос: я могу получить возвращаемое значение функции.

public class MethodAdvice {

public static Logger logger = LoggerFactory.getLogger(MethodAdvice.class);


@Advice.OnMethodEnter
private static Span before(@Advice.Origin Method method, @Advice.AllArguments Object[] args){
    logger.info(method.toString() + " start to run");

    return TraceManager.methodIntercept(method);
}



@Advice.OnMethodExit
static void exit(@Advice.Origin Method method, @Advice.Enter final Span span) {
    logger.info(method.toString() + " end to run");
    TraceManager.endSpan(span);
}
}
...