カスタム・コンポーネントの作成
汎用ログ・アダプターは、アプリケーション・ログ・ファイルを処理するアダプターの作成に使用できる、
多くの定義済みコンポーネントを提供します。それらのコンポーネントがユーザーの要件に合わない場合、
アダプター構成ファイルのコンテキストに組み込めるカスタム・コンポーネントを作成することによって、
汎用ログ・アダプターを拡張することができます。
以下のステップに従って、カスタム・コンポーネントを作成します。
ユーザー独自の汎用ログ・アダプター・コンポーネントを作成する際に汎用ログ・アダプター・ソース・コードを参照
する場合は、Eclipse CVS リポジトリーの org.eclipse.hyades.logging.adapter プラグイン・プロジェクト
をチェックアウトします。以下の手順で行います。
- 「CVS リポジトリー・エクスプローラー」パースペクティブを開きます。
- 「CVS リポジトリー」ペインを右クリックし、
「新規」> 「リポジトリー・ロケーション」と選択します。
- ホストに dev.eclipse.org、リポジトリー・パスに /home/tools、
ユーザーに anonymous を入力します。
- 「終了」をクリックします。新規リポジトリー・ロケーションが追加されます。
- 新規リポジトリー・ロケーションで、「ヘッド」ノードを展開します。
- org.eclipse.hyades.logging.adapter プロジェクトを右クリックし、
「チェックアウト」を選択します。プロジェクトがワークスペースに作成されます。
新規コンポーネントのコードを含む Java クラスを作成する必要があります。次のようにします。
- 新規コンポーネントを含むプラグイン・プロジェクトを作成します。
- プロジェクト内に Java クラスを作成します。新規コンポーネントは、その役割に応じて、
パッケージ org.eclipse.hyades.logging.adapter で定義されている次のインターフェースのいずれか
を実装する必要があります。
- IProcessUnit
- コンポーネントの処理を行うメソッドによって IComponent を拡張します。オブジェクト配列
はコンポーネント間でやり取りされるため、主要な処理メソッドである processEventItems は、オブジェクト配列
を入力として受け取り、オブジェクト配列を戻します。すべてのコンポーネントが IProcessUnit を
実装する必要があります。IComponent には、すべてのコンポーネント・プロパティーの
getter および setter メソッド、構成からコンポーネント・プロパティーを取得するための更新メソッド、
およびコンポーネントを開始および停止するメソッドが含まれています。
- ISensor
- IProcessUnit を拡張します。センサー・コンポーネントを実装する際に使用する必要があります。
getNext メソッドは、センスされているソースから次に続くデータを戻します。flush メソッドは、
センサーによってキャッシュに入れられたソースに残っているすべてのデータをフラッシュします。
このインターフェースには、センサー・スキーマ・ファイル sensor.xsd で定義されている
センサー・タイプの getter および setter メソッドも含まれます。
- IExtractor
- IProcessUnit を拡張します。抽出コンポーネントを実装する際に使用する必要があります。
センサーは、通常、データをストリングとして抽出に戻し、抽出はこれらのストリングから完全なメッセージ
を抽出するため、抽出は、ストリングの配列を入力として受け取り MessageString オブジェクト
の配列を戻す processStrings メソッドを実装する必要があります。MessageString クラス
も org.eclipse.hyades.logging.adapter パッケージで定義されます。
- IParser
- IProcessUnit を拡張します。パーサー・コンポーネントを実装する際に使用する必要があります。
- IFormatter
- IProcessUnit を拡張します。フォーマッター・コンポーネントを実装する際に使用する必要があります。
- IOutputter
- IProcessUnit を拡張します。アウトプッター・コンポーネントを実装する際に使用する必要があります。
新規コンポーネント・クラスの作成については、他にも、
org.eclipse.hyades.logging.adapter.impl パッケージに、IComponent、IProcessUnit、
ISensor、および IExtractor のデフォルト実装クラスを拡張するためのオプションがあります。
org.eclipse.hyades.logging.adapter プロジェクトの関連コンポーネント・パッケージ
にコンポーネントの例があります。
- コードが完成したら、変更内容を保管します。
汎用ログ・アダプター・クラスを拡張するには、使用しているプラグインに汎用ログ・アダプター・プラグイン
とその依存関係を組み込む必要があります。
- plugin.xml ファイルを開き、次の依存関係を追加します。
org.eclipse.hyades.logging.adapter
org.eclipse.hyades.logging.core
プラグインを汎用ログ・アダプターのコンポーネント拡張機能として構成するには、次のようにします。
- 次の拡張機能を plugin.xml ファイルに追加します。
<extension
point="org.eclipse.hyades.logging.adapter.adapterComponent">
<componentClassname
name="executable_class_name">
</componentClassname>
</extension>
ここで、executable_class_name は、汎用ログ・アダプター・コンポーネントを実装するために
作成した Java クラスの名前です。
- plugin.xml ファイルを保管します。
関連タスク
カスタム・コンポーネントのテスト
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.