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?
| 限定符和类型 | 类和说明 |
|---|---|
static class |
SpyAPI.AbstractSpy |
| 限定符和类型 | 字段和说明 |
|---|---|
static boolean |
INITED |
static SpyAPI.AbstractSpy |
NOPSPY |
| 构造器和说明 |
|---|
SpyAPI() |
| 限定符和类型 | 方法和说明 |
|---|---|
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 © 2023. All rights reserved.