代理控制器配置文件
代理控制器配置由两组配置文件指定。第一组是基本配置,它描述引擎的缺省设置。第二组是插件配置,它描述引擎的特定于应用程序的设置。此文档描述每个配置以及如何写配置扩展的详细信息。
此文档中提到的目录 <install directory> 对应于代理控制器解包路径。此目录在配置文件中也称为 %RASERVER_HOME%。
基本配置
基本配置包含文件 <install directory>/config/serviceconfig.xml,该文件是使用
XML 模式 <install directory>/config/serviceconfig.xsd 构造的。这指定缺省设置,如代理控制器的系统环境变量、应用程序配置和连接。基本配置将可用于所有配置并在启动引擎服务时装入。应用程序开发者不应修改此基本配置文件,原因是在基本配置中的任何更改都将是全局的。应使用插件配置(在下面描述)来指定特定于插件和应用程序的设置。
插件配置
每个用户定义的应用程序应将它的配置文件和依赖项放在插件目录
<install directory>/plugin/<plug-in name> 下面,其中
<plug-in name> 是标识应用程序的唯一名称。应将插件配置文件
pluginconfig.xml 放在插件目录的 config 子目录下面。通常将
JAR 文件放在插件目录的 lib 子目录下面。开发者应使用 XML 模式
<install directory>/config/pluginconfig.xsd 来帮助构造插件配置文件。
元素和属性
元素:AgentControllerConfiguration
这是基本配置的根元素。这些设置用于启动引擎服务。
使用者:基本配置
子元素:AgentControllerEnvironment、Application、Hosts、Service、Agent、Option 和 Plugin
属性:
- activeConfiguration
- 指定在引擎启动时要装入哪个配置
- filePort
- 指定代理控制器文件传输服务所侦听的端口。缺省值是 10005。
- isDataMultiplexed
- 指定是否应该通过代理控制器的控制通道来传输概要分析和日志记录数据。缺省情况下,数据通道使用任意端口来传输数据,并且数据传输可能会由于存在防火墙而被阻止。如果通过控制通道传输数据,就可以为通过防火墙的进入连接请求打开一组预定义的端口。这些端口包括缺省端口 10002、受保护端口 10003 和文件服务器端口 10005。此属性的缺省值为 false。
- jvm
- Java 虚拟机动态运行时库(jvm.dll 或 libjvm.so)的标准路径
- loggingDetail
- 如果指定 HIGH,则启用引擎的行号记录
- loggingDirectory
- 创建引擎日志文件 servicelog.log 的目录
- loggingLevel
- 日志消息的严重性过滤器
- port
- 用于侦听入局不安全客户机连接的引擎端口
- processPolling
- 指定是否启用进程状态活动检查。此属性主要用于 Windows 系统,目的是确保代理控制器在每当进程终止时接收到通知。缺省值为 true。
- securedPort
- 用于侦听入局安全客户机连接的引擎端口
- version
- 引擎的版本
元素:PluginConfiguration
这是插件配置的根元素。这些设置在装入基本配置之后装入。
使用者:插件配置
子元素:AgentControllerEnvironment、Application、Service、Agent 和 Option
属性:
- requires
- 此配置依赖于的用逗号分隔的插件名列表。对于 TPTP 4.0 来说,对插件名添加了版本标识后缀。此后缀由下划线字符以及后跟的发行版版本号组成。例如:org.eclipse.tptp.platform.agentcontroller_4.0.0。要确保依赖于先前发行版提供的插件(不带版本标识后缀的插件)的应用程序的插件兼容性,您可以选择对“requires”属性指定不带版本标识的插件名。在这种情况下,代理控制器的配置装入器将首先尝试查找包含版本标识后缀的完整插件名。如果不成功的话,配置装入器将会接着搜索不包含版本标识后缀的插件名。如果有多个同名的插件,则将使用操作系统返回的第一个插件名。
元素:AgentControllerEnvironment
这是此配置添加的全局环境变量的位置标志符。这些位置标志符发布至系统并可用于所有其他配置(包括基本配置)。
使用者:AgentControllerConfiguration 和 PluginConfiguration
子元素:Variable
属性:
- 配置
- 要将环境变量添加至的配置的名称
元素:Application
这是特定于应用程序的环境的位置标志符。其中的设置只对于此特定应用程序可视。
使用者:AgentControllerConfiguration 和 PluginConfiguration
子元素:Variable 和 Parameter
属性:
- 配置
- 要将应用程序添加至的配置的名称
- executable
- 应用程序的名称,客户机必须使用此名称来标识此应用程序
- path
- 此应用程序应运行的程序的实际标准路径
- 位置
- 此应用程序的工作目录
- extends
- 已经定义了同一个应用程序的配置名称,这将把当前设置添加在顶部
元素:Hosts
这是主机信息的位置标志符。它由引擎用来允许/禁止某些主机进行连接。
使用者:AgentControllerConfiguration
子元素:Allow 和 Deny
属性:
配置使用此主机信息的配置的名称
元素:Allow
这指定允许哪些主机连接至引擎。
使用者:Hosts
属性:
- host
- 主机的名称或 IP 地址
- net
- 子网
- mask
- 子网掩码
元素:Deny
这指定禁止哪些主机连接至引擎。
使用者:Hosts
属性:
- host
- 主机的名称或 IP 地址
- net
- 子网
- mask
- 子网掩码
元素:Service
这指定在引擎启动时要装入哪个用户定义的模块。
使用者:AgentControllerConfiguration 和 PluginConfiguration
子元素:Option
属性:
- 配置
- 要装入此服务的配置的名称
- name
- 服务的名称
- path
- 动态装入库的标准路径
元素:Agent
这指定特定于代理程序的信息。
使用者:AgentControllerConfiguration 和 PluginConfiguration
子元素:Option
属性:
- configuration
- 使用此代理程序配置的配置的名称
- name
- 代理程序的名称
- type
- 代理程序的类型
- dataChannelSize
- 要分配给进程间通信的共享内存量
- logFile
- 写代理程序所发送消息的日志文件的标准路径
- client
- 指定此代理程序是动态的还是无外设的
元素:Option
此项用来存储名值对。
使用者:AgentControllerConfiguration、PluginConfiguration、Service 和 Agent
属性:
- name
- 选项的名称(即,名称空间)
- type
- 选项的类型(即,选项名称)
- value
- 选项的值
元素:Plugin
这指定要在其中查找插件配置的目录
使用者:AgentControllerConfiguration
属性:
path要在其中查找插件配置的标准目录
元素:Variable
环境变量。
使用者:Application 和 AgentControllerEnvironment
属性:
- name
- 环境变量的名称(例如,CLASSPATH)
- value
- 环境变量的值
- position
- 指定此值是要追加到现有值之后、附加到现有值之前还是替换现有值
元素:Parameter
程序参数。
使用者:Application
属性:
- value
- 程序参数的值
- position
- 指定此参数是要追加到现有参数之后、附加到现有参数之前还是替换现有参数