目錄
附註
這份文件在表示檔案和目錄位置時,<install-home> 是指 Agent Controller 套件的解壓縮目錄。
pluginconfig.xml 檔在 <install-home>\plugins\<plugin-name>\config 之下。 它是根據個別產生軟體組之應用程式的需求,serviceconfig.xml 中所定義之廣域環境和應用程式別名的延伸機制。 延伸 serviceconfig.xml 中所定義的環境設定值,會影響 Agent Controller 所啟動的所有應用程式(包括代理程式),因為它們都繼承這個環境。 這使得「外掛程式」能夠將它的應用程式設成可供 Agent Controller 啟動的其他程序加以尋找(例如,藉由增其路徑到 CLASSPATH 環境變數)。 如果 Agent Controller 配置成將啟動服務限制於應用程式別名清單內的應用程式,延伸這份清單便是啟動新應用程式的一個方式。
因此,pluginconfig.xml 提供了套裝附加程式元件(在 Agent Controller 的基本安裝中,它們是選用的)的機制。 由於 serviceconfig.xml 檔本身並沒有修改,因此,移除附加程式也一樣容易。
代理程式可能需要 pluginconfig.xml 和 agent.xml。 如果您要新的 Agent Controller 尋找可用的代理程式(或能夠探索它),便需要 agent.xml 檔來定義代理程式應用程式。如果代理程式需要延伸 serviceconfig.xml 環境或別名清單,便需要 pluginconfig.xml。 在未來的版本中,使用 agent.xml 檔會取代使用 pluginconfig.xml。
附註
這裡所用的「外掛程式」一詞,只是不嚴格地指向 Eclipse 外掛程式。 這是因為最初便使用了實際的外掛程式。 但現在它是一個錯誤的稱呼,因為這個配置檔可以參照任何應用程式,不需要包裝成適合安裝在 Eclipse 工作台的外掛程式。
pluginconfig.xml 檔包含下列主要區段:
pluginconfig.xml 檔所包含之元素的階層顯示如下。 相同層次的元素顯示順序並不重要。 階層中的超鏈結會鏈結至元素和屬性區段中的正式元素說明。
PluginConfiguration
AgentControllerEnvironment
Variable
Option
Application
Variable
Parameter
Agent
Option
元素: PluginConfiguration
子元素: AgentControllerEnvironment
Option
Application
Agent
- requires
- (選用)這個字串值是一份這個配置之相依外掛程式名稱的清單(以逗號分隔)。 從 TPTP 4.0 開始,外掛程式名稱新增了版本 ID 字尾。 在底線後面接著該版次的版本號碼。 例如:org.eclipse.tptp.platform.agentcontroller_4.0.0。如果要確定相依於舊版外掛程式之應用程式的外掛程式相容性(沒有版本 ID 字尾的外掛程式), 您可以選擇將外掛程式名稱指定給 "requires" 屬性,版本 ID 不包括在內。 在這個情況下,Agent Controller 的配置載入器會先嘗試尋找包括版本 ID 字尾內的完整外掛程式名稱。 如果未順利完成,配置載入器會搜尋排除版本 ID 字尾的外掛程式名稱。 如果有多個外掛程式同名,會使用作業系統傳回的第一個外掛程式名稱。
使用者: PluginConfiguration
子元素: Variable
這個 Variable 元素定義環境變數,以及應該如何在現有環境中將它定位,以便形成所啟動的所有應用程式和代理程式的新預設環境。 AgentControllerEnvironment 可以定義零或多個這些元素。
使用者: AgentControllerEnvironment
屬性:
- name
- 這個字串值指定環境變數名稱。
- value
- 這個字串值指定環境變數值。
- position
- (選用)這個字串值是 "append"、"prepend" 或 "replace",指出相對於現有的預設環境,這個環境要放在哪裡。
元素:Option
在 PluginConfiguration 中最上層的 Option 元素用來指定每個代理程式向 Agent Controller 登錄它自身時,將傳這個代理程式的任意配置資料。
這項資訊包括在針對每個代理程式而傳回給用戶端的內容資訊中。
代理程式可以依照它認為合適的方式來解譯(或不解譯)這項資訊。
選項資訊只提供給使用 Agent Controller 原始 API(舊版相容性層)的代理程式。
請利用 agent.xml 配置檔來向使用新 API 的代理程式提供配置資訊。
元素:Application使用者: Agent
屬性:
- name
- 這個字串值指定選項的名稱空間。
- type
- 這個字串值指定選項的名稱。
- value
- 這個字串指定選項值。
使用者: PluginConfiguration
子元素: Variable
- executable
- 這個字串值指定 path 屬性所指定之應用程式執行檔的別名。 用戶端必須利用這個名稱來識別這個應用程式。 如果未指定 extends 屬性,這裡提供的名稱應該符合先前定義的別名。
- path
- 這個字串值指定要啟動之應用程式的完整路徑名稱。 當啟動應用程式執行檔時,這個屬性用來取代別名。
如果指定了 extends 屬性,便會忽略這個屬性。- location
- (選用)這個字串值指定從中啟動執行檔的目錄,有時當執行檔在執行中,稱為執行檔的工作目錄。
- extends
- (選用)這個字串值指定先前定義的應用程式別名的配置名稱。 不過,並不支援配置名稱,因此,這個屬性值應該設為 "default"。 如果 extends 存在(不論其值為何),便表示這個 Application 所包含的資訊應該延伸相符應用程式別名中先前所定義的啟動資訊。 path 值不能改變(也就是所啟動的執行檔)。 如果找不到執行檔名稱的相符者,這個 Application 元素便沒有作用。
元素:Variable
這個 Variable 元素定義環境變數,以及當應用程式啟動時,應該如何在現有環境中將它定位。
Application 可以定義零或多個這些元素。
使用者:Application
屬性:
- name
- 這個字串值指定環境變數名稱。
- value
- 這個字串值指定環境變數值。
- position
- (選用)這個字串值是 "append"、"prepend" 或 "replace",指出相對於預設環境,這個環境要放在哪裡。
Parameter 元素定義當應用程式啟動時,將提供給應用程式的指令行引數。 Application 可以定義零或多個這些元素。
使用者:Application
屬性:
- value
- 這個字串值指定指令行引數。
- position
- (選用)這個字串值是 "append"、"prepend" 或 "replace",指出相對於現有的指令行引數,這個環境要放在哪裡。
元素:Agent
提供特定代理程式的配置資訊。
只供使用 Agent Controller 原始 API(舊版相容性層)的代理程式使用。
請利用 agent.xml 配置檔來向使用新 API 的代理程式提供配置資訊。
使用者: PluginConfiguration
子元素: Option
屬性:
- name
- 這個字串值指定應該套用這個配置資訊的代理程式名稱。
- type
- (選用)這個字串值指定代理程式的類型。
- dataChannelSize
- (選用)這個字串值指定跨處理程序通訊所要配置的共用記憶體量。 值的形式是正整數加字尾 M 或 K(分別代表 MB 或 KB),或不含字尾(表示位元組)。 範例值:"16M"、"8K" 或 "16000".
- logFile
- (選用)這個字串指定檔案的完整路徑名稱。 如果指定的話,通常會通過資料通道而送往用戶端的資料,會改成寫入這個檔案。
- client
- (選用)這個字串指定這個代理程式是否與用戶端互動。 可能的值有 "DYNAMIC" 或 "HEADLESS"。 HEADLESS 表示沒有相關聯的用戶端。 預設值是 DYNAMIC。
- extends
- (選用)這個字串值指定先前定義的代理程式的配置名稱。 不過,並不支援配置名稱,因此,這個屬性值應該設為 "default"。 如果 extends 存在(不論其值為何),便表示這個 Agent 所包含的資訊應該延伸相符 Agent 元素中先前所定義的配置資訊。 用來展開關聯於特定代理程式的 Option 清單。
元素:Option
Agent 元素內的 Option 子元素用來指定當代理程式向 Agent Controller 登錄它自身時,將傳這個代理程式的任意配置資料。
代理程式可以依照它認為合適的方式來解譯(或不解譯)這項資訊。
使用者: Agent
屬性:
- name
- 命名選項的任意字串(也就是名稱空間)
- type
- 命名選項類型的任意字串(也就是選項名稱)
- value
- 選項的任意字串值
<PluginConfiguration requires="org.eclipse.tptp.platform.collection.framework">
<AgentControllerEnvironment>
<Variable name="CLASSPATH_MY_AGENTS"
position="append"
value="%PLUGINS_HOME%\org.eclipse.tptp.myagents\lib\coreagent.jar"
/>
</AgentControllerEnvironment>
<Application
executable="MyAgent"
location="%SYS_TEMP_DIR%"
path="%JAVA_PATH%">
<Variable name="CLASSPATH"
position="append"
value="%PLUGINS_HOME%\org.eclipse.tptp.myagents\jmx\lib\jmxagent.jar"
/>
<Variable name="CLASSPATH"
position="append"
value="%CLASSPATH_MY_AGENTS%"
/>
<Parameter position="append"
value="-Dapp_home=%MY_HOME%"
/>
<Parameter position="append"
value="-DagentXML=%PLUGINS_HOME%
\org.eclipse.tptp.myagents\jmx\agentXML\MyAgent.xml"
/>
</Application>
<Option name="org.eclipse.tptp.Myagents"
type="version" value="2.0"/>
</PluginConfiguration>
參考資訊
Copyright (C) 2006 Intel Corporation.