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 |
| Modifier and Type | Field and Description |
|---|---|
static boolean |
INITED |
static SpyAPI.AbstractSpy |
NOPSPY |
| 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 void |
destroy() |
static SpyAPI.AbstractSpy |
getSpy() |
static void |
init() |
static boolean |
isInited() |
static boolean |
isNopSpy() |
static void |
setNopSpy() |
static void |
setSpy(SpyAPI.AbstractSpy spy) |
public static final SpyAPI.AbstractSpy NOPSPY
public static volatile boolean INITED
public static SpyAPI.AbstractSpy getSpy()
public static void setSpy(SpyAPI.AbstractSpy spy)
public static void setNopSpy()
public static boolean isNopSpy()
public static void init()
public static boolean isInited()
public static void destroy()
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 © 2021. All rights reserved.