第五十三章 IRIS 中的 Web 网关注册表
Web Gateway 注册表向 IRIS 注册每个连接的 Web Gateway 安装,并提供基础结构以允许 IRIS 代码与这些安装交互(以清除缓存等)。此类以编程方式控制的交互可能包括读取和修改 Web Gateway 的运行时配置以及收集系统状态和日志信息。相关类如下:
%CSP.Mgr.GatewayRegistry (The Gateway Registry)
%CSP.Mgr.GatewayMgr (A Connected Gateway)
以下代码列出了所有已连接(即活动)的 Web Gateway 安装,并将 Web 服务器 IP 地址、端口和 Web Gateway 内部版本号写入控制台窗口。
Set reqistry = $system.CSP.GetGatewayRegistry()
Set gateways = reqistry.GetGatewayMgrs()
For no=1:1:gateways.Count() {
Set gateway = gateways.GetAt(no)
Write !,no, " : "
Write gateway.IPAddress,":",gateway.Port," ",gateway.Version
}
当 IRIS 首次启动时,此列表为空。随着管理员和用户活动的增加,预计至少会出现两个条目:一项用于服务管理门户的专用 Web 服务器,至少一项用于支持应用程序的外部 Web 服务器。
可以找到与上面列出的类相关的更多文档。下面是一些代码示例来说明常见任务。
列出默认参数
Kill defaults
Do gateway.GetDefaultParams(.defaults)
ZWrite defaults
更新默认参数
Kill newpars
Set newpars("Server_Response_Timeout")=30
Do gateway.SetDefaultParams(.newpars)
列出服务器
Set status = gateway.GetServers(.servers)
For no=1:1:$ListLength(servers) {
Set server = $List(servers,no)
Write !,no, " : ",server
}
列出服务器参数
Kill serverpars
Do gateway.GetServerParams("LOCAL",.serverpars)
ZWrite serverpars
更新服务器参数
Kill newpars
Set newpars("Maximum_Server_Connections")=250
Do gateway.SetServerParams("LOCAL",.newpars)
列出应用程序路径
Set status = gateway.GetApplicationPaths(.paths)
For no=1:1:$ListLength(paths) {
Set path = $List(paths,no)
Write !,no, " : ",path
}
列出应用程序参数
Kill pathpars
Do gateway.GetApplicationParams("/csp",.pathpars)
ZWrite pathpars
更新应用程序参数
Kill newpars
Set newpars("GZIP_Compression")="Enabled"
Clear Gateway cache
Do gateway.ClearCache("*")
强制 Web 网关重新加载其配置
有时 Web Gateway 的配置会被外部代理(即 Web Gateway 自己的系统管理套件以外的代理)修改。
有两种方法可以交互地指示 Web Gateway 重新加载其配置,并且不需要完全重新启动。
使用 IRIS Web 网关注册表
提供以下注册方法:
Set status = %CSP.Mgr.GatewayMgr.ActivateCSPIni()
成功调用后,Web Gateway 会读取其配置文件并激活所做的所有更改。
使用 IRIS 外部的脚本
脚本应将以下行(区分大小写)添加到修改后的 Web Gateway 配置文件的 SYSTEM 部分:
[SYSTEM]
RELOAD=1
Web Gateway 看守守护程序大约每分钟检查一次 RELOAD 标志,如果设置正确,则重新加载并重新激活其配置并从文件中删除该标志。成功重新加载操作后,以下消息将写入事件日志:
Gateway Management
Gateway Configuration Reloaded and Reactivated