要素
|
タイプ
|
説明
|
PluginMBean
|
Java クラス - インタフェース
|
前述のとおり、各プラグインは MBean であり、PluginMBean インタフェースを実装する必要があります。このインタフェースは、プラグインが MBean として使用されることを確保すると同時に、プラグインを実装するために必要な契約を指定します。このクラスは、追加の機能を提供するために、新しいインタフェース階層に拡張できます。
このクラスの実装により、プラグインは JMX コンソールから実行できる属性とオペレーションを公開できます。
このクラスには、MBean の属性とオペレーションを実装するためのプライマリ API が含まれています。
|
AbstractPlugin
|
Java クラス - 抽象
|
プラグインの PluginMBean インタフェースを実装する際の複雑さのほとんどをラップする抽象クラス。このクラスは、このクラスを拡張するクラスからの継承を介して使用できるメソッドの具象実装を提供します。
これは、すべてのプラグインのベースとなる親クラスであり、カスタムプラグインを作成するときは、このクラスを直接または階層的に拡張する必要があります。
|
SelfAwareMBean
|
Java クラス - 抽象
|
プラグインは、SelfAwareMBean です。つまり、プラグインは、その固有の MBean ObjectName を認識している標準の MBean であり (前述のとおり)、MBean レジストリに重複して登録されることはありません。
すべてのカスタムプラグインが、プラグインを SelfAwareMBean として登録するために、プラグインコンストラクタ (サンプルコード) で super() の呼び出しを実装します。基本クラス AbstractPlugin は、プラグインを SelfAwareMBean として登録するためのメソッド呼び出しを実装します。
各プラグインは最終的には SelfAwareMBean を拡張する基本クラス AbstractPlugin から継承されるため、プラグインはすべて SelfAwareMBean であると言えます。
|
com.ptc.customersupport.plugins
|
Java パッケージ
|
この Java パッケージには、PTC が提供するすべてのプラグイン実装が含まれています。このパッケージには、多くの必須メソッドのデフォルト機能を提供することによって多くのプラグインの実装を容易にする抽象ソースファイルが含まれています。
具体的には、このパッケージには以下の Java 抽象クラスが含まれています。
AbstractMultipleFilePlugin
AbstractQMLPlugin
AbstractReportingPlugin
AbstractSQLPlugin
AbstactWinDUPlugin
AbstractXconfPlugin
GatherFilePlugin
GatherFolderPlugin
GatherLogsPlugin
GatherEveryLogPlugin
これらのプラグインの機能は、Java 継承を介して直接使用できます。これにより、共通のタイプのプラグイン機能のプラグイン実装がより簡単になります。
|
AbstractMultipleFilePlugin
|
Java クラス - 抽象
|
このクラスは、プラグインに必要な共通の機能をまとめて、ファイルのリストを収集します。
|
AbstractQMLPlugin
|
Java クラス - 抽象
|
このクラスは、プラグインに必要な共通の機能をまとめて、QML (Query Markup Language) ファイル/スクリプトを実行します。通常、これらのスクリプトのファイル拡張子は .qml です。
|
AbstractReportingPlugin
|
Java クラス - 抽象
|
このクラスは、プラグインに必要な共通の機能をまとめて、Windchill Business Reporting に対してプラグインを実行します。
|
AbstractSQLPlugin
|
Java クラス - 抽象
|
このクラスは、プラグインに必要な共通の機能をまとめて、SQL (Structured Query Language) ファイル/スクリプトを実行します。
|
AbstractWinDUPlugin
|
Java クラス – 抽象
|
このクラスは、プラグインに必要な共通の機能をまとめて、WinDU (Windchill Diagnostic Utilitiy) タスクを実行します。
|
AbstractXconfPlugin
|
Java クラス – 抽象
|
このクラスは、プラグインに必要な共通の機能をまとめて、親 xconf ファイルから参照されている xconf ファイルを再帰的に識別します。
|
GatherFilePlugin
|
Java クラス - 抽象
|
このクラスは、プラグインに必要な共通の機能をまとめて、単一のファイルを収集します。
|
GatherFolderPlugin
|
Java クラス – 抽象
|
このクラスは、プラグインに必要な共通の機能をまとめて、親とすべての子ディレクトリを収集します。
|
GatherLogsPlugin
|
Java クラス - 抽象
|
このクラスは、プラグインに必要な共通の機能をまとめて、ログファイルのディレクトリを収集します。このクラスは、GatherFolderPlugin と似ていますが、ファイルの所定の日付範囲、具体的にはファイル修正時間に適用されます。
|
GatherEveryLogPlugin
|
Java クラス - 抽象
|
このクラスは、プラグインに必要な共通の機能をまとめて、ログファイルのディレクトリを収集します。このクラスは、GatherFolderPlugin と似ていますが、ファイルの所定の日付範囲、具体的にはファイル修正時間を無視します。したがって、これはすべてのログファイルに適用されます。
|
CollectorMBean
|
Java クラス - インタフェース
|
プラグインが対象とするデータを収集する方法に関する契約を指定する Java MBean インタフェース。AbstractPlugin が実装の詳細を処理するため、この MBean がプラグインによって直接実装される必要はありません。
|
Collector
|
Java クラス
|
CollectorMBean インタフェースの具象実装クラス。これは、すべてのプラグインがファイル収集を行うために実質的に依存するクラスです。
|
collect(…)
|
Java メソッド
|
2 つの collect(…) メソッドは、PluginMBean インタフェースの一部であり、すべてのプラグインによって実装される必要があります (すべてのプラグインが PluginMBean インタフェースを実装するため)。
これらのメソッドは、Collector クラスと対話するために必要な API を指定し、最終的にはプラグインの機能を実行します。
一般的に、AbstractPlugin とプラグイン階層内のその他の抽象クラス (上記を参照) は、依存できる collect(…) メソッドのデフォルト実装を提供します。具体的には、多くの場合、AbstractPlugin.java の collectData(…) メソッドは、単純に collect(…) メソッドによって呼び出すことができます。ただし、特異なニーズを処理する高度なプラグインの場合は、これらのメソッドを直接オーバーライドし、実装する必要があります。このようなケースはまれであり、プラグインが単にファイルの収集だけを行うのではなく、いくつかの Java プロセスを実行したり、ファイルの収集が必要となる処理を行うオペレーションを個別に呼び出したりする必要がある場合にのみ発生します。
com.ptc.customer
support.plugin.* パッケージに、これを行うプラグインがあります。これらのプラグインは、具体的には MBeanDumpPlugin.java、WDSPlugin.java、および AbstractWinduPlugin.java で例として参照できます。
PluginMBean インタフェースはユーザーがデータを収集できることを 2 つの方法で指定するため、実装する必要がある collect(…) は 2 つあることに注意してください。1 つの API には callNumber パラメータが必要で、もう 1 つの API には topicIdentifier が必要です。これらのパラメータはそれぞれ、収集された情報が保存される場所を示します。
このメソッドには特定のマップの戻り値が必要です。戻り値とこのメソッドの詳細については、カスタマイズポイントの「プラグインについて」を参照してください。
|
collectData(…)
|
Java メソッド
|
AbstractPlugin.java の collectData(…) メソッドは、PluginMBean インタフェースの collect(…) メソッドを実装する際の複雑さのほとんどをラップします。このメソッドは、プラグインが指定する方法で公表メッセージが各サーバーに整列されるように設定します。これはまた、必要とされる戻り Map 値を正しく構築します。このメソッドは、コレクションフレームワークを直接使用する際の複雑さをラップするため、しばしば collect(…) メソッドが依存することがあります。ほとんどのプラグインにおいて、このメソッドは単純に適切なパラメータ値で呼び出すことができます。
このメソッドには特定のマップの戻り値が必要です。戻り値とこのメソッドの詳細については、カスタマイズポイントの「プラグインについて」を参照してください。
|
PluginType
|
Java クラス
|
これは、Java 列挙タイプクラスです。プラグインは初期化時に PluginType の列挙タイプのいずれか 1 つを指定するので、Collector クラスはどのような処理を実行し、収集した情報をファイルシステムのどこに配置する必要があるかを認識しています。
|
PluginUtilities
|
Java クラス
|
これは、collect(…) メソッドのデフォルトの動作に依存しない高度なプラグインを作成するために役立つユーティリティメソッドを提供する Java クラスです。特に重要なのは、collect(…) メソッドが必要とするマップの戻り値を構築する getReturnMap(boolean, String, String) メソッドです。これは、特定の動作をする collect(…) メソッドを実装する高度なプラグインの実装を簡素化するために役立ちます。
|
PluginPropertyUtils
|
Java クラス
|
これは、高度なプラグインを作成するために役立つプロパティ情報用のユーティリティメソッドを提供する Java クラスです。このクラスは、xconf が管理するプロパティ値情報を取得するためのメソッドと、トークン化された xconf パスを完全修飾基準パスに解決するための手段を提供します。
|
*Resource
|
Java クラス
|
プラグインの文字列は、さまざまなロケールで表示できるようにローカライズされる必要があります。com.ptc.customersupport.mbeans.plugin* パッケージには、リソースクラスが含まれています。これらの Java リソースクラスは、ローカライズでき、Java ソースコードで使用できる文字列を維持します。
プラグインは、これらのリソースファイルまたは新しいリソースファイルを利用して、ローカライズされた文字列を提供できます。
|
<ファイル名>.jar
|
Java JAR ファイル
|
これは、標準の Java .jar ファイルであり、任意の名前を付けることができます。.jar ファイルは、システム設定コレクターで使用されるためにカスタムプラグインを展開する一般的な方法です。
.jar ファイルには、プラグインおよび Java ヘルパークラス用のコンパイルされた .class ファイルと PluginMBean サービスファイル (下記を参照) が含まれています。.jar ファイルでは、.class ファイルとサービスファイルに対して、パッケージのディレクトリ構造が維持されている必要があります。
Java JAR ファイルの仕様の詳細については、その他のリソースを参照してください。
|
com.ptc.customersupport.mbeans.PluginMBean
|
Java JAR サービスファイル
|
これは、Java .jar ファイルに含まれているサービスファイルであり、これにより、システム設定コレクターの Java クラスローダーは新しいプラグインが展開されたかどうかを確認できます。ファイル構造は厳格で、維持される必要があります。維持されなければ、Java クラスローダーの問題が発生し、プラグインはロードされないか、使用できません。.jar ファイルには、META-INF\services に com.ptc.customersupport.mbeans.PluginMBean ファイルが含まれている必要があります。このファイルの内容は、次のタイプである必要があります。
<java ソースパッケージ><プラグインクラス名> (括弧なし)
Java Jar Service Provider インタフェースの詳細については、その他のリソースを参照してください。
|