JConsole API

com.sun.tools.jconsole
クラス JConsolePlugin

java.lang.Object
  上位を拡張 com.sun.tools.jconsole.JConsolePlugin

public abstract class JConsolePlugin
extends Object

JConsole プラグインクラスです。JConsole は、サービスプロバイダ機構を使って JConsole プラグインを検索します。ユーザーは、次のファイルを含む jar ファイルに独自の JConsole プラグインを格納して、提供することができます。

 META-INF/services/com.sun.tools.jconsole.JConsolePlugin

このファイルには、個々のプラグインを表す次のような行が含まれています。

 com.sun.example.JTop

これは、JConsolePlugin を実装するクラスの完全指定のクラス名です。

JConsole の JConsole プラグインをロードするには、次のコマンドを実行します。

 jconsole -pluginpath <plugin-path> 

<plugin-path> には検索対象の JConsole プラグインのパス (ディレクトリまたは jar ファイル) を指定します。複数のパスを指定するときは、プラットフォーム固有のパス区切り文字で区切って指定します。

ある接続に対して新しい JConsole ウィンドウが作成されると、各 JConsolePlugin のインスタンスが作成されます。JConsoleContext オブジェクトは、構築中は使用できません。JConsole は、プラグインオブジェクトが完成してから、その JConsoleContext オブジェクトを設定します。次に、getTabs を呼び出し、返されたタブを JConsole ウィンドウに追加します。

導入されたバージョン:
1.6
関連項目:
java.util.ServiceLoader

コンストラクタの概要
protected JConsolePlugin()
          コンストラクタです。
 
メソッドの概要
 void addContextPropertyChangeListener(PropertyChangeListener listener)
          このプラグインの JConsoleContext オブジェクトに PropertyChangeListener を追加します。
 void dispose()
          このプラグインを破棄します。
 JConsoleContext getContext()
          アプリケーションとの接続を表す JConsoleContext オブジェクトを返します。
abstract  Map<String,JPanel> getTabs()
          JConsole ウィンドウに追加されるタブを返します。
abstract  SwingWorker<?,?> newSwingWorker()
          JConsole が GUI を更新するのと同じ間隔でこのプラグインの GUI を更新する、SwingWorker を返します。
 void removeContextPropertyChangeListener(PropertyChangeListener listener)
          このプラグインの JConsoleContext オブジェクトのリスナーリストから PropertyChangeListener を削除します。
 void setContext(JConsoleContext context)
          アプリケーションとの接続を表す JConsoleContext オブジェクトを設定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

JConsolePlugin

protected JConsolePlugin()
コンストラクタです。

メソッドの詳細

setContext

public final void setContext(JConsoleContext context)
アプリケーションとの接続を表す JConsoleContext オブジェクトを設定します。このメソッドは、プラグインの完成後、getTabs() の呼び出しが行われる前に 1 回だけ呼び出されます。このメソッドを呼び出すときは、任意の 接続状態コンテキスト を指定できます。

パラメータ:
context - JConsoleContext オブジェクト

getContext

public final JConsoleContext getContext()
アプリケーションとの接続を表す JConsoleContext オブジェクトを返します。このメソッドは、コンテキスト が初期化される前に呼び出されると、null を返すことがあります。

戻り値:
アプリケーションとの接続を表す JConsoleContext オブジェクト

getTabs

public abstract Map<String,JPanel> getTabs()
JConsole ウィンドウに追加されるタブを返します。  

返されるマップには、JConsole ウィンドウのタブ付き区画に追加される各タブにエントリ (キーとしてタブ名、値として JPanel オブジェクトを指定) が 1 つずつ含まれます。このメソッドは、このプラグインによって追加されるタブがない場合は空のマップを返します。このメソッドは、新規接続時にイベントディスパッチスレッドから 1 回だけ呼び出されます。

戻り値:
JConsole ウィンドウに追加されるタブを表すタブ名と JPanel オブジェクトのマップ、または空のマップ

newSwingWorker

public abstract SwingWorker<?,?> newSwingWorker()
JConsole が GUI を更新するのと同じ間隔でこのプラグインの GUI を更新する、SwingWorker を返します。  

JConsole は、接続ごとに指定された間隔で GUI の更新を行うようにスケジュールします。このメソッドは、各プラグインの SwingWorker を取得するため、更新のたびに呼び出されます。  

JConsole は execute() メソッドを呼び出して、返される SwingWorker が次の場合に実行されるようにスケジュールを立てます。


これらの条件が満たされていないと、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 - リスナーnull の場合

removeContextPropertyChangeListener

public final void removeContextPropertyChangeListener(PropertyChangeListener listener)
このプラグインの JConsoleContext オブジェクトのリスナーリストから PropertyChangeListener を削除します。listener が追加されていない場合、例外はスローされず、何も行われません。

パラメータ:
listener - 削除される PropertyChangeListener
例外:
NullPointerException - リスナーnull の場合

JConsole API