Agent Controller 配置檔
Agent Controller 配置是由二組配置檔來指定的。
第一組是基本配置,用以說明引擎的預設值。第二組是外掛程式配置,用來說明引擎的應用程式專用設定值。
本文件說明每個配置的詳細資料,以及如何撰寫配置延伸。
本文件中所指的目錄<install directory>對應於 Agent Controller 解壓縮的路徑。
在配置檔中,此目錄也是指 %RASERVER_HOME%。
基本配置
基本配置是由<install directory>/config/serviceconfig.xml 這個檔案所組成,它是使用 XML 綱目<install directory>/config/serviceconfig.xsd 建構出來的。
其所指定的預設值例如:系統環境變數、應用程式配置及 Agent Controller 的連線功能等。
基本配置適用於所有配置,當引擎服務啟動時,便會載入。應用程式開發人員不應修改這個基本配置檔,因為在基本配置中所做的任何變更,都會造成全面性的影響。外掛程式配置(說明如下)應用來指定外掛程式及應用程式專用的設定。
外掛程式配置
每個使用者定義的應用程式都應該要將其配置檔及相依關係放在外掛程式目錄<安裝目錄>/plugin/<外掛程式名稱>之下,其中<外掛程式名稱>是用來識別應用程式的唯一名稱。
外掛程式配置檔 pluginconfig.xml 應放在外掛程式目錄的 config 子目錄之下。
通常 JAR 檔會放在外掛程式目錄的 lib 子目錄之下。
開發人員可以使用 XML 綱目<安裝目錄>/config/pluginconfig.xsd 來協助建構外掛程式配置檔。
元素及屬性
元素:AgentControllerConfiguration
這是基本配置的根元素。這些設定可用來啟動引擎服務。
使用對象:基本配置
子元素:AgentControllerEnvironment、Application、Hosts、Service、Agent、Option、Plugin
屬性:
- activeConfiguration
- 指定當引擎啟動時所要載入的配置
- filePort
- 指定 Agent Controller 檔案轉送服務所要接聽的埠。預設值是 10005。
- isDataMultiplexed
- 指定是否要透過 Agent Controller 的控制通道來傳輸側寫和記載資料。依預設,資料通道會使用任意埠來傳輸資料,若有防火牆的話,可能會被阻斷。若是透過控制通道來傳送資料,將可針對經由防火牆送入的連線要求,來開啟一組預先定義的埠。
這些埠包括:預設埠 10002、安全埠 1003 及檔案伺服器埠 10005。此屬性的預設值是 false。
- jvm
- 「Java 虛擬機器」動態執行時期程式庫(jvm.dll 或 libjvm.so)的完整路徑
- loggingDetail
- 若指定 HIGH,則可啟用引擎的行號記載功能
- loggingDirectory
- 建立引擎日誌檔 servicelog.log 的所在目錄
- loggingLevel
- 日誌訊息的嚴重性過濾器
- port
- 用來接聽所送入之未受保護用戶端連線的引擎埠
- processPolling
- 指定是否要啟用處理狀態的作用中檢查功能。此屬性主要用在 Windows 系統上,以確定每當處理程序終止時,會通知 Agent Controller。
預設值是 true。
- securedPort
- 用來接聽所送入之安全用戶端連線的引擎埠
- version
- 引擎的版本
元素: PluginConfiguration
這是外掛程式配置的根元素。載入基本配置之後,就會載入其設定。
使用對象:外掛程式配置
子元素:AgentControllerEnvironment、Application、Service、Agent、Option
屬性:
- requires
- 此配置所依據的外掛程式名稱清單(以逗點區隔)
元素:AgentControllerEnvironment
這是用於此配置所提供之廣域環境變數的位置保留區。
這些元素會發佈至系統,並可供所有其他配置使用,包括基本配置。
使用對象:AgentControllerConfiguration、PluginConfiguration
子元素:Variable
屬性:
- configuration
- 要新增環境變數之配置的名稱
元素:Application
這是應用程式專用環境的位置保留區。只有此特定應用程式才看得到其中的設定。
使用對象:AgentControllerConfiguration、PluginConfiguration
子元素: Variable、Parameter
屬性:
- configuration
- 要新增應用程式之配置的名稱
- executable
- 應用程式的名稱,用戶端必須使用此名稱來識別這個應用程式
- path
- 此應用程式所要執行之程式的實際完整路徑
- location
- 此應用程式的工作目錄
- extends
- 已定義相同應用程式的配置名稱,這會將現行設定新增在頂端
元素:Hosts
這是主機資訊的位置保留區。引擎會使用此元素來允許 / 禁止某些主機進行連線。
使用對象:AgentControllerConfiguration
子元素:Allow、Deny
屬性:
configuration使用此主機資訊之配置的名稱
元素:Allow
此元素指定要允許哪些主機連線至引擎。
使用對象:主機
屬性:
- host
- 主機的名稱或 IP 位址
- net
- 子網路
- mask
- 子網路遮罩
元素:Deny
此元素指定要禁止哪些主機連線至引擎。
使用對象:主機
屬性:
- host
- 主機的名稱或 IP 位址
- net
- 子網路
- mask
- 子網路遮罩
元素:Service
此元素指定當引擎啟動時,所要載入的使用者定義模組。
使用對象:AgentControllerConfiguration、PluginConfiguration
子元素:Option
屬性:
- configuration
- 要載入此服務之配置的名稱
- name
- 服務的名稱
- path
- 動態載入程式庫的完整路徑
元素:Agent
此元素指定代理程式的特定資訊。
使用對象:AgentControllerConfiguration、PluginConfiguration
子元素:Option
屬性:
- configuration
- 使用此代理程式配置之配置的名稱
- name
- 代理程式的名稱
- type
- 代理程式的類型
- dataChannelSize
- 要配置給跨程序通訊的共用記憶體數量
- logFile
- 寫入代理程式所傳送之訊息的日誌檔完整路徑
- client
- 指定此代理程式為動態或無監視器型
元素:Option
此元素可用來儲存名稱/值配對。
使用對象:AgentControllerConfiguration、PluginConfiguration、服務、代理程式
屬性:
- name
- 選項的名稱(例如:名稱空間)
- type
- 選項的類型(例如:選項名稱)
- value
- 選項的值
元素:Plugin
此元素指定要在其中尋找外掛程式配置的目錄
使用對象:AgentControllerConfiguration
屬性:
path要在其中尋找外掛程式配置的完整目錄
元素:Variable
環境變數。
使用對象:Application、AgentControllerEnvironment
屬性:
- name
- 環境變數的名稱(例如:CLASSPATH)
- value
- 環境變數的值
- position
- 指定要將此值附加在現有值之後、之前,還是要加以取代
元素:Parameter
程式參數。
使用對象:應用程式
屬性:
- value
- 程式參數的值
- position
- 指定要將此參數附加在現有參數之後、之前,還是要加以取代