可以通过以下两种方式之一来指定代理的配置属性:
编辑代理的配置文件
直接从命令行提供属性值
以下两节介绍了这两种配置代理的方法。
代理配置文件包含用于配置代理的属性设置。 这些文件保存在一个目录中,该目录的位置取决于使用的操作系统平台;有关详细信息,请参见附录 A, Message QueueTM 数据在特定平台上的位置。该目录存储以下文件:
启动时加载的默认配置文件 default.properties。此文件不可编辑,但您可以通过读取该文件来确定默认设置,以及查找要更改的属性的确切名称。
包含安装 Message Queue 时指定的全部属性的安装配置文件 install.properties。此文件在安装后无法进行编辑。
此外,每个单独的代理实例都有其自身的实例配置文件,如下所述。如果连接群集中的代理实例,您可能还需要使用群集配置文件来指定群集的配置信息;有关详细信息,请参见群集配置属性。
启动时,代理会合并各个配置文件中的属性值。 如图 4–4 中所示,这些文件构成了一个分层结构,在此结构中,实例配置文件中指定的值将覆盖安装配置文件中的值,而安装配置文件中的值又将覆盖默认配置文件中的值。 在分层结构的顶部,您可以通过使用 imqbrokerd 命令的命令行选项来手动覆盖配置文件中指定的任何属性值。
首次运行代理时,将创建一个实例配置文件,其中包含该特定代理实例的配置属性。该实例配置文件被命名为 config.properties,并存储在由所属代理实例的名称标识的目录中:
…/instances/ instanceName/props/config.properties
(有关 instances 目录的位置,请参见附录 A, Message QueueTM 数据在特定平台上的位置。)如果该文件不存在,则必须在启动代理时使用 -name 选项(请参见代理实用程序)指定一个实例名, Message Queue 可以使用该实例名来创建文件。
instances/instanceName 目录和实例配置文件由创建相应代理实例的用户所有。 代理实例必须始终由该用户重新启动。
实例配置文件由代理实例维护,并在您使用 Message Queue 管理实用程序更改配置时进行相应的更改。 您也可以手动编辑实例配置文件,以便自定义代理的行为和资源使用。 要执行此操作,您必须是 instances/instanceName 目录的拥有者,或者以 root 身份登录,以更改目录的访问权限。
代理仅在启动时读取实例配置文件。要对代理配置进行永久性更改,您必须关闭代理,编辑该文件,然后重新启动代理。 该文件(或任何配置文件)中的属性定义使用以下语法:
propertyName=value [[,value1] …]
例如,下面的条目指定,代理最多可以在内存和持久性存储库中保存 50, 000 条消息,超过此限制后,将拒绝其他消息:
imq.system.max_count=50000
下面的条目指定,将每天(86, 400 秒)创建一个新的日志文件:
imq.log.file.rolloversecs=86400
有关可用代理配置属性及其默认值的信息,请参见代理服务和第 14 章,代理属性参考。
在启动代理时(或之后),可以在命令行中输入代理配置选项。
在启动时,可使用代理实用程序 (imqbrokerd) 启动代理实例。 通过使用该命令的 -D 选项,可以指定任何代理配置属性及其值;有关详细信息,请参见启动代理和代理实用程序。如果使用服务管理器实用程序 ( imqsvcadmin) 将代理作为 Windows 服务启动,则可使用 -args 选项指定启动配置属性;请参见服务管理器实用程序。
在代理实例运行时,还可以更改某些代理属性。 要修改正在运行的代理的配置,请使用命令实用程序的 imqcmd update bkr 命令;请参见更新代理属性和代理管理。