3

Java Flight Recorder API 包含两个注解TransitionFromTransitionTo,但文档对如何使用它们非常简单。

它们应该如何使用?我假设他们会在事件领域进行。它们应该是布尔字段还是线程字段?何时应将字段设置为哪些值?

4

1 回答 1

1

@TransitionTo 和 @TransitionFrom 的目的是向图形用户界面(如 JDK Mission Control)提示存在从线程 A 到线程 B 的转换。

GUI 然后可以将其可视化为过渡箭头:

过渡图

如果您在线程 A 中提交事件,您将创建一个线程字段并使用 @TransitionTo 对其进行注释并将线程 B 分配给它。

@Name("com.organization.product.Notification")
@Label("Notification")
public class Notification extends jdk.jfr.Event {
   @TransitionTo
   @Label ("Receiver");
   Thread receiver;
}

如果在线程 B 中提交事件更方便,您将创建一个使用 @TransitionFrom 注释的字段,并将其分配给线程 A。

@Name("com.organization.product.Notification")
@Label("Notification")
public class Notification extends jdk.jfr.Event {
   @TransitionFrom
   @Label ("Notifier");
   Thread notifier;
}
于 2018-12-22T17:51:06.610 回答