public class SpyAPI extends Object
一个adviceId 是什么呢? 就是一个trace/monitor/watch命令能对应上的一个id,比如一个类某个函数,它的 enter/end/exception 统一是一个id,分配完了就不会再分配。 同样一个method,如果它trace之后,也会有一个 adviceId, 这个method里的所有invoke都是统一处理,认为是一个 adviceId 。 但如果有匹配到不同的 invoke的怎么分配?? 好像有点难了。。 其实就是把所有可以插入的地方都分类好,那么怎么分类呢?? 或者是叫同一种匹配,就是同一种的 adviceId? 比如入参是有 class , method ,是固定的 , 某个行号,或者 某个 aop插入的叫 adviceId , command插入的叫 ListenerId?
| Modifier and Type | Class and Description |
|---|---|
static class |
SpyAPI.AbstractSpy |
| Constructor and Description |
|---|
SpyAPI() |
| Modifier and Type | Method and Description |
|---|---|
static void |
atAfterInvoke(Class<?> clazz,
String invokeInfo,
Object target) |
static void |
atBeforeInvoke(Class<?> clazz,
String invokeInfo,
Object target) |
static void |
atEnter(Class<?> clazz,
String methodInfo,
Object target,
Object[] args) |
static void |
atExceptionExit(Class<?> clazz,
String methodInfo,
Object target,
Object[] args,
Throwable throwable) |
static void |
atExit(Class<?> clazz,
String methodInfo,
Object target,
Object[] args,
Object returnObject) |
static void |
atInvokeException(Class<?> clazz,
String invokeInfo,
Object target,
Throwable throwable) |
static SpyAPI.AbstractSpy |
getSpy() |
static void |
setNopSpy() |
static void |
setSpy(SpyAPI.AbstractSpy spy) |
public static SpyAPI.AbstractSpy getSpy()
public static void setSpy(SpyAPI.AbstractSpy spy)
public static void setNopSpy()
public static void atExit(Class<?> clazz, String methodInfo, Object target, Object[] args, Object returnObject)
public static void atExceptionExit(Class<?> clazz, String methodInfo, Object target, Object[] args, Throwable throwable)
Copyright © 2020. All rights reserved.