asadmin get、set 和 list 命令串联使用可以为 Application Server 的抽象分层结构提供导航机制。有两个分层结构:configuration 和 monitoring,可以针对它们运行这些命令。list 命令可为具有只读或可修改属性的管理组件提供全限定带点名称。
configuration 分层结构提供可修改属性,而 monitoring 分层结构中管理组件的属性完全为只读属性。configuration 分层结构并不严格基于域的模式文档,而 monitoring 分层结构稍有不同。
使用 list 命令可以访问所需分层结构中的特定管理组件。随后,调用 get 和 set 命令可以立即获取管理组件的属性的名称和值,或设置这些属性的值。使用通配符 (*) 选项可以获取给定全限定带点名称中的所有匹配项。有关分层结构和管理组件的可能导航的进一步说明,请参见示例。
应用服务器带点名称使用 "."(句点)作为分界符来分隔完整名称的各部分。这与 UNIX 文件系统中使用 "/" 字符来分隔文件绝对路径名的各级别的方式类似。当形成 get、set 和 list 命令可接受的带点名称时,以下规则适用。请注意,特定命令将应用某些附加语义。
.(句点)始终分隔名称的两个连续部分。
名称的一部分通常标识应用服务器子系统和/或其特定实例。例如:web-container、log-service、thread-pool-1 等。
如果名称的任一部分本身包含 .(句点),则必须使用前导 \(反斜杠)对其进行转义,以使 "." 不用作分界符。
*(星号)可以用于带点名称中的任意位置,它的作用与正则表达式中的通配符类似。此外,* 可以折叠带点名称的所有部分。可以将 "<classname>this.is.really.long.hierarchy </classname>" 之类的长带点名称缩写为 "<classname>th*.hierarchy</classname>"。但请注意,. 始终用于分隔名称的各部分。
任何带点名称的顶层开关均为 -‐monitor 或 -m,此开关将在给定命令行中单独指定。此开关的有无意味着针对应用服务器管理选择两种分层结构的其中一种:监视和配置。
如果您碰巧知道确切的完整带点名称(不带任何通配符),则 list 和 get/set 在语义方面稍有不同:
list 命令将此完整带点名称视为抽象分层结构中某个父节点的完整名称。将此名称提供给 list 命令时,此命令仅返回该级别的直接子节点的名称。例如,list server.applications.web-module 将列出部署到域或默认服务器的所有 Web 模块。
get 和 set 命令将此完整带点名称视为某个节点(其带点名称本身是您在删除此带点名称的最后一部分时获得的名称)的属性的全限定名称,并获取/设置此属性的值。如果存在此类属性,则为 true。但从不会出现这种情况,因为为了查找分层结构中某个特定节点的属性的名称,必须使用通配符 *。例如,server.applications.web-module.JSPWiki.context-root* 将返回部署到域或默认服务器的 Web 应用程序的上下文根目录。
list 命令是这三个命令的导航功能的起源。如果要 set 或 get 某个特定应用服务器子系统的属性,则必须知道此子系统的带点名称。可以借助 list 命令来查找此子系统的带点名称。以查找某个以 / 开头的大型文件系统中特定文件的修改日期(属性)为例,您必须首先找出此文件在文件系统中的位置,然后再查看其属性。因此,用于了解应用服务器中分层结构的前两个命令为:* list "*" 和 <command>* list * -‐monitor。请查阅 get、set 或 list 命令的手册页,以确定这些命令的有序输出。