Module jdk.jconsole

Class JConsolePlugin

java.lang.Object
com.sun.tools.jconsole.JConsolePlugin

public abstract class JConsolePlugin extends Object
一个 JConsole 插件类。JConsole 使用 服务提供者 机制来搜索 JConsole 插件。用户可以在包含名为
 META-INF/services/com.sun.tools.jconsole.JConsolePlugin

的文件的 jar 文件中提供他们的 JConsole 插件。

此文件为每个插件包含一行,例如,

 com.sun.example.JTop

这是实现 JConsolePlugin 的类的完全限定类名。

要在 JConsole 中加载 JConsole 插件,请运行:

 jconsole -pluginpath <plugin-path> 

其中 <plugin-path> 指定要查找的 JConsole 插件的路径,可以是目录或 jar 文件。多个路径由平台的路径分隔符分隔。

当为连接创建新的 JConsole 窗口时,将创建每个 JConsolePlugin 的实例。在构建插件对象时,JConsoleContext 对象不可用。JConsole 将为插件设置 JConsoleContext 对象,然后调用其 getTabs 方法,并将返回的选项卡添加到 JConsole 窗口中。

自版本:
1.6
参见:
  • Constructor Details

    • JConsolePlugin

      protected JConsolePlugin()
      构造函数。
  • Method Details

    • setContext

      public final void setContext(JConsoleContext context)
      设置表示与应用程序的连接的 JConsoleContext 对象。此方法仅在创建插件后并在调用 getTabs() 之前调用一次。在调用此方法时,给定的 context 可以处于任何 连接状态
      参数:
      context - 一个 JConsoleContext 对象
    • getContext

      public final JConsoleContext getContext()
      返回表示与应用程序的连接的 JConsoleContext 对象。如果在初始化 context 之前调用此方法,则此方法可能返回 null
      返回:
      表示与应用程序的连接的 JConsoleContext 对象。
    • getTabs

      public abstract Map<String,JPanel> getTabs()
      返回要添加到 JConsole 窗口中的选项卡。

      返回的映射为每个要添加到 JConsole 窗口中选项卡的选项卡在选项卡窗格中包含一个条目,其中选项卡名称为键,JPanel 对象为值。如果此插件未添加任何选项卡,则此方法返回一个空映射。此方法将在新连接时间的 事件分派线程 中调用一次。

      返回:
      包含要添加到 JConsole 窗口中的选项卡的选项卡名称和 JPanel 对象的映射;或一个空映射。
    • newSwingWorker

      public abstract SwingWorker<?,?> newSwingWorker()
      返回一个 SwingWorker,以执行与 JConsole 更新 GUI 相同间隔的 GUI 更新的任务。

      JConsole 在为连接指定的间隔时间安排 GUI 更新。此方法将在每次更新时调用以获取每个插件的 SwingWorker

      如果:

      • SwingWorker 对象尚未执行(即 SwingWorker.getState() 方法返回 PENDING 状态);并且
      • 前一个更新中返回的 SwingWorker 对象已完成任务(如果不为 null)(即 SwingWorker.isDone 方法返回 true)。

      否则,SwingWorker 对象将不会被安排工作。

      插件可以安排自己的 GUI 更新,此方法将返回 null

      返回:
      用于执行 GUI 更新的 SwingWorker;或 null
    • dispose

      public void dispose()
      释放此插件。JConsole 调用此方法通知将丢弃此插件,并且应该释放其分配的任何资源。在调用此方法时,JConsoleContext 可以处于任何 连接状态
    • addContextPropertyChangeListener

      public final void addContextPropertyChangeListener(PropertyChangeListener listener)
      向此插件的 JConsoleContext 对象添加一个 PropertyChangeListener。当 JConsoleContext 对象可能可用或不可用时,此方法是此插件注册监听器的便捷方法。

      例如,插件构造函数可以调用此方法来注册监听器以侦听 connectionState 属性更改,并且当 JConsoleContext 对象可用时,监听器将被添加。

      参数:
      listener - 要添加的 PropertyChangeListener
      抛出:
      NullPointerException - 如果 listenernull
    • removeContextPropertyChangeListener

      public final void removeContextPropertyChangeListener(PropertyChangeListener listener)
      从此插件的 JConsoleContext 对象的监听器列表中移除一个 PropertyChangeListener。如果从未添加 listener,则不会抛出异常,也不会执行任何操作。
      参数:
      listener - 要移除的 PropertyChangeListener
      抛出:
      NullPointerException - 如果 listenernull