注
この文書でファイルとディレクトリーのロケーションを参照する場合、 <install-home> は、 Agent Controller パッケージが unzip されたディレクトリーになります。
エージェントの起動構成ファイル (agent.xml) は、 Agent Controller がエージェントを開始および管理するために知る必要がある静的情報で構成されています。この静的情報には、以下の内容が含まれています。
agent.xml ファイルは、エージェント自体の名前が付けられているディレクトリーの下に置かれている必要があります。 エージェント名のディレクトリーは、 serviceconfig.xml ファイル内の Agent 要素によって指定されたディレクトリー内になければなりません。例えば、エージェント名が org.eclipse.tptp.TimeCollector の場合、この構成ファイルは <install-home>/agents/org.eclipse.tptp.TimeCollector/agent.xml にあります。Agent Controller は、名前によって要求されるエージェントを識別するためにこのディレクトリー名を使用しています。 agent.xml 構成ファイル内の情報は、そのエージェント用のメタデータです。
Agent Controller がすべてのエージェントの agent.xml ファイルを読み取るのは、スタートアップ時の一度のみです。 したがって、これらのファイルの内容を変更したり、エージェントのディレクトリーを新規に追加したりした場合は Agent Controller を再始動しないと有効にならないことに注意してください。
要素: Agent
エージェント構成ファイルのルート要素です。エージェントのメタデータを定義します。オブジェクトは、エージェントのメタデータを要求でき、さらにその情報を自由に使用します。下記のサブ要素は、Agent Controller がエージェントの起動と管理に使用します。 追加情報をメタデータとして戻す必要があるエージェント開発者は、追加のサブ要素を定義することができます。
メタデータは、ある特定のタスクに使用するエージェントについて実行時に決定するクライアントにとって便利です。
サブ要素: Interface
SingleInstance
Bound
MaxControllers
MaxObservers
ConfigFile
LaunchConfiguration属性:
- Name
- この文字列値はエージェントの固有名です。この値は、エージェントが Agent Controller を使用してそれ自体を登録するときに使用する名前と同じであると予期されます。 これらの値が異なると、名前によるエージェントに対する要求は、そのエージェントが既に実行されているかいないかによって結果が変わることになります。
要素:Interface
この要素の文字列値は、このエージェントがサポートするインターフェース名です。
Agent 要素には、ゼロまたはそれ以上の Interface 要素が存在します。
インターフェースは、エージェントがサポートするコマンド・セットの固有名です。
- 使用する要素: Agent
要素:SingleInstance
この要素の整数値は、0 または 1 です。 0 (いいえ) は、このエージェントが並行実行する複数インスタンスを持てることを示します。
1 (はい) は、このエージェントの単一インスタンスのみが許されることを示します。 1 に設定されると、
Agent Controller は、1 つのインスタンスが既に実行中であれば、このエージェントの新規インスタンス要求を否認します。
使用する要素: Agent
要素: Bound
この要素の整数値は、0 または 1 です。 0 (いいえ) は、このエージェントがアプリケーションにバインドされていないことを示します。
1 (はい) は、このエージェントがアプリケーションにバインドされていることを示します。
アプリケーションにバインドされているエージェントを起動できるのは、
その アプリケーションのみです。したがって、
Agent Controller は、その制限値が 1 の場合はエージェントの起動を拒否します。
使用する要素: Agent
要素: MaxControllers
この要素の整数値は、-1、0、または正の値です。
-1 は「制限なし」を表します。
Agent Controller は、要求回数がこの値を超えている場合は、このエージェントに対するコントローラー権限の要求を拒否します。
コントローラーの権限は、エージェントの開発者によって定義されます。予想される使用法は、データ収集の開始および停止など、競合するアクションを要求することのあるオブジェクトの数を制限することです。
使用する要素: Agent
要素: MaxObservers
この要素の整数値は、-1、0、または正の値です。
-1 は「制限なし」を表します。
Agent Controller は、要求回数がこの値を超えている場合は、このエージェントに対するオブザーバー権の要求を拒否します。
オブザーバーの権限は、エージェントの開発者によって定義されます。予想される使用法は、静的または収集されるデータを提供する (おそらく、コントローラーによる要求のため) など、照会型アクションを要求する可能性のあるオブジェクトの数を制限することです。
使用する要素: Agent
要素: ConfigFile
この要素の文字列値では、エージェントが利用できる動的構成情報を含む追加構成ファイルの絶対パスおよびファイル名を指定します。
これはオプション・ファイルです。このファイルの目的とコンテンツはエージェントの開発者によって定義されます。予想される使用法は、エージェントが独自の構成情報を始動時などにこのファイルから読み取ることです。
使用する要素: Agent
要素:
LaunchConfiguration
この Agent の起動構成パラメーターを識別します。
使用する要素: Agent
サブ要素: launchInfo
要素:
launchInfo
実行可能ファイルの起動に使用される情報をカプセル化します。
使用する要素: LaunchConfiguration
サブ要素: Application
要素: Application
このアプリケーション要素は、アプリケーションの開始に使用される情報を定義します。
その executable
属性値では、その別名 (serviceconfig.xml の ApplicationAliases 要素を参照) または起動する実行可能ファイルのパス名によってアプリケーションを指定することができます。
この値は、Agent Controller によって始動時に serviceconfig.xml から取得される別名リストに最初に突き合わせされます。
一致なしの場合は、Application 要素内に含まれている起動情報がそのまま使用されます。
一致するものがある場合は、その別名用に定義された起動情報がここに定義されている情報と一緒に使用されます。これについては、後で説明します。
使用する要素:
LaunchConfiguration
サブ要素: Variable
Parameter
属性:
- executable
この文字列値では、開始するアプリケーション名を指定します。これは、起動する実際の実行可能ファイルの別名またはパス名です。 別名の場合は、実行可能ファイル名はその別名で指定されたパス値で置換されます。
- location
(オプション) この文字列値では、実行可能ファイルを起動するディレクトリーを指定します。このディレクトリーは、実行可能ファイルの実行時の作業ディレクトリーと呼ばれることもあります。省略した場合に、実行可能ファイルが別名と一致しなかったときは、アプリケーションは Agent Controller が存在するディレクトリーから実行されます。 省略した場合に、実行可能ファイルが別名と一致すると、別名に指定したロケーションが使用されます。
要素: Variable
この Variable 要素は、環境変数と、その環境変数を既存環境内に配置する方法を定義します。
Application 要素内に配置する場合は、アプリケーションを起動するときに使用される環境が変更されます。
アプリケーション用に定義されたこれらの要素は、ゼロまたはそれ以上存在します。
Application の
executable 属性で別名を指定している場合は、別名の環境変数設定はデフォルト環境に適応され、さらにここに定義された環境変数はそれらとともに適用されます。
使用する要素: Application
属性:
- name
この文字列値は、環境変数の名前を指定します。
- value
この文字列値は、環境変数の値を指定します。
- position
(オプション) この文字列値は、「append」、「prepend」、「replace」のいずれかであり、現在の環境を基準にこの環境を配置する場所を指示します。省略すると、変数が環境に追加されます。
要素: Parameter
Parameter 要素は、起動時にアプリケーションに指定するコマンド行引数を定義します。アプリケーション用に定義されたこれらの要素は、ゼロまたはそれ以上存在します。
Application の
executable 属性で別名を指定している場合は、別名のコマンド行引数が使用され、さらにここに定義されたコマンド行引数がそれらとともに適用されます。
使用する要素: Application
属性:
- value
この文字列値はコマンド行引数を指定します。
- position
(オプション) この文字列値は、「append」、「prepend」、または「replace」のいずれかであり、既存のコマンド行引数を基準にこの引数を置く場所を指示します。省略した場合、引数はコマンド行に追加されます。
<Agent Name="org.eclipse.tptp.TimeCollector">
<Interface>org.eclipse.tptp.agent</Interface>
<Interface>org.eclipse.tptp.collector</Interface>
<SingleInstance>0</SingleInstance>
<Bound>0</Bound>
<MaxControllers>-1</MaxControllers>
<MaxObservers>-1</MaxObservers>
<ConfigFile>c:\tptp\agents\org.eclipse.tptp.TimeCollector\config\agentconfig.xml</ConfigFile>
<LaunchConfiguration>
<launchInfo>
<Application executable=".\TimeCollector.exe">
<Parameter value="-serviceconfig ..\config\serviceconfig.xml" />
</Application>
</launchInfo>
</LaunchConfiguration>
</Agent>
関連参照
エージェントと Agent Controller 構成の概要
Copyright (C) 2005, 2006 Intel Corporation.