2

我想在 jmc 中发出自定义事件 - 我遇到了关于 jfr 自定义事件的博客文章 - http://hirt.se/blog/?p=444。然而,作者强调,该功能将来可能会被弃用。由于 jmc 不是开源的,我无法检查它。博文中的信息是否仍然是最新的?

4

2 回答 2

4

JDK 9 已经发布,它包含一个受支持的 API 来创建自定义事件。例子,

@Label("Hello World!")
class HelloWorld extends jdk.jfr.Event {
  @Label("Message")
  String message;
}

class App {
  public static void main(String... args) {
    HelloWorld e = new HelloWorld();
    e.message = "hello, world!";
    e.commit();
  }
}
于 2016-10-17T22:37:43.523 回答
2

博主在这里!:) 在 Luzern 的 Hackergarten 会议期间,我开始为 JFR 编写一些小插件,以展示如何使用这些 API。我在这里开源了它们:

https://github.com/thegreystone

当 JDK 9 发布时,我将提交更新,使它们能够透明地支持 JDK7/8 和 JDK 9,以展示它是如何实现的。请注意,不支持使用 JDK7/8 JFR API,以后也不会。也就是说,它仍然非常有用。;)

于 2016-10-18T13:54:56.780 回答