| 程序包 | 说明 |
|---|---|
| com.alibaba.jvm.sandbox.api.event | |
| com.alibaba.jvm.sandbox.api.listener | |
| com.alibaba.jvm.sandbox.api.listener.ext |
| 限定符和类型 | 类和说明 |
|---|---|
class |
BeforeEvent
方法调用BEFORE事件
|
class |
CallBeforeEvent
方法调用追踪事件:BEFORE
|
class |
CallReturnEvent
方法调用追踪事件:RETURN
|
class |
CallThrowsEvent
方法调用追踪事件:THROWS
|
class |
ImmediatelyReturnEvent
立即返回事件
该事件并非原生的方法返回事件,而是由
ProcessControlException.throwReturnImmediately(Object)
所引起的返回事件 |
class |
ImmediatelyThrowsEvent
立即异常抛出事件
该事件并非原生的方法异常抛出事件,而是由
ProcessControlException.throwThrowsImmediately(Throwable)
所引起的异常抛出事件 |
class |
InvokeEvent
方法调用事件
|
class |
LineEvent
方法调用行事件
|
class |
ReturnEvent
方法调用RETURN事件
|
class |
ThrowsEvent
异常/错误抛出事件
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
ThreadSafeEventListener.onEvent(Event event)
已过时。
|
void |
EventListener.onEvent(Event event)
触发事件处理
事件处理是整个sandbox最重要的一环,也是整个系统设计的精髓所在
事件流转流程
+-------+
| |
+========+ <return> +========+ | <return immediately>
| | <return immediately> | | |
| BEFORE |---------------------->| RETURN |<---+
| | | |
+========+ +========+
| | ^
| <throws immediately> | |
| | | <return immediately>
| v |
| +========+
| | |
+--------------------------->| THROWS |<---+
<throws> | | |
<throws immediately> +========+ | <throws immediately>
| |
+-------+
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
AdviceAdapterListener.onEvent(Event event) |
Copyright © 2023 Alibaba Open Source. All rights reserved.