pluginconfig.xml

目錄

 

附註

這份文件在表示檔案和目錄位置時,<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.xmlagent.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)可以出現不只一次。 任何子元素都可以省略。

子元素:     AgentControllerEnvironment

                            Option
                            Application
                            Agent
                           
屬性:

requires
(選用)這個字串值是一份這個配置之相依外掛程式名稱的清單(以逗號分隔)。 從 TPTP 4.0 開始,外掛程式名稱新增了版本 ID 字尾。 在底線後面接著該版次的版本號碼。 例如:org.eclipse.tptp.platform.agentcontroller_4.0.0。如果要確定相依於舊版外掛程式之應用程式的外掛程式相容性(沒有版本 ID 字尾的外掛程式), 您可以選擇將外掛程式名稱指定給 "requires" 屬性,版本 ID 不包括在內。 在這個情況下,Agent Controller 的配置載入器會先嘗試尋找包括版本 ID 字尾內的完整外掛程式名稱。 如果未順利完成,配置載入器會搜尋排除版本 ID 字尾的外掛程式名稱。 如果有多個外掛程式同名,會使用作業系統傳回的第一個外掛程式名稱。

元素:AgentControllerEnvironment
AgentControllerEnvironment 元素含括一或多個 Variable 元素,這些元素會延伸 serviceconfig.xml 中所定義的廣域環境變數。 它們會成為啟動所有應用程式時所用之環境的一部分。


使用者: PluginConfiguration

子元素:    Variable

 

元素:Variable

這個 Variable 元素定義環境變數,以及應該如何在現有環境中將它定位,以便形成所啟動的所有應用程式和代理程式的新預設環境。 AgentControllerEnvironment 可以定義零或多個這些元素。

使用者: AgentControllerEnvironment

屬性:

name
這個字串值指定環境變數名稱。
value
這個字串值指定環境變數值。
position
(選用)這個字串值是 "append"、"prepend" 或 "replace",指出相對於現有的預設環境,這個環境要放在哪裡。

元素:Option
在 PluginConfiguration 中最上層的 Option 元素用來指定每個代理程式向 Agent Controller 登錄它自身時,將傳這個代理程式的任意配置資料。 這項資訊包括在針對每個代理程式而傳回給用戶端的內容資訊中。 代理程式可以依照它認為合適的方式來解譯(或不解譯)這項資訊。 選項資訊只提供給使用 Agent Controller 原始 API(舊版相容性層)的代理程式。 請利用 agent.xml 配置檔來向使用新 API 的代理程式提供配置資訊。

使用者: Agent

屬性:

name
這個字串值指定選項的名稱空間。
type
這個字串值指定選項的名稱。
value
這個字串指定選項值。
元素:Application
Application 元素定義或延伸應用程式的別名和啟動資訊。 它可能包括只有這個特定應用程式在啟動時所能見到環境設定值。 這個應用程式別名加到 serviceconfig.xml 中的 ApplicationAliases 元素內所定義的清單中。


使用者: 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

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
選項的任意字串值

範例 pluginconfig.xml

 

<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>
 

參考資訊

代理程式和 Agent Controller 配置概觀


Copyright (C) 2006 Intel Corporation.