第 4 章 创建和执行请求


JBoss EAP 配置呈现为可寻址资源的层次结构树,每种都提供自己的一组操作。管理 CLI 操作请求允许低级别与管理模式交互,并提供可控的方式来编辑服务器配置。

操作请求使用以下格式:

/NODE_TYPE=NODE_NAME:OPERATION_NAME(PARAMETER_NAME=PARAMETER_VALUE)
Copy to Clipboard Toggle word wrap

操作请求由三个部分组成:

地址
该地址指定要在其上执行操作的资源节点。NODE_TYPE 映射到元素名称,NODE_NAME 映射到配置 XML 中的该元素的 name 属性。资源树的每一级别都用斜杠(/)分隔。
操作名称
要在资源节点上执行的操作。它以冒号(:)前缀。
parameters
因操作而异的必选或可选参数集合。它们包含在括号()中。

构建操作请求

  1. 确定地址

    您可以引用 XML 配置文件(standalone.xmldomain.xmlhost.xml),以帮助确定所需的地址。您还可以使用 tab 自动完成功能来查看可用资源。

    以下是 root(/)级别上资源的几个常用地址。

    • /deployment=DEPLOYMENT_NAME - 部署配置.
    • /socket-binding-group=SOCKET_BINDING_GROUP_NAME - 套接字绑定配置.
    • /interface=INTERFACE_NAME - 接口配置.
    • /subsystem=SUBSYSTEM_NAME - 作为单机服务器运行时的子系统配置.
    • /profile=PROFILE_NAME/subsystem=SUBSYSTEM_NAME - 在受管域中运行时,适用于所选配置文件的子系统配置。
    • /host=HOST_NAME - 在受管域中运行时所选主机的服务器配置。

    以下地址用于 ExampleDS 数据源。

    /subsystem=datasources/data-source=ExampleDS
    Copy to Clipboard Toggle word wrap
  2. 确定操作

    每种资源类型的资源节点的可用操作都有所不同。您可以使用资源地址上的 :read-operation-names 操作来查看可用的操作。您还可以使用 tab 自动完成功能。

    使用 :read-operation-description 操作来获取资源特定操作的信息。

    以下操作(包含适当的参数后)将为 ExampleDS 数据源设置属性值:

    /subsystem=datasources/data-source=ExampleDS:write-attribute
    Copy to Clipboard Toggle word wrap
  3. 确定参数

    每个操作都有自己的一组可用参数。如果您在没有必要参数的情况下尝试执行操作,您会收到一条错误消息,指出参数无法 为空

    使用逗号(,)分隔多个参数。如果某个操作没有任何参数,则括号是可选的。

    对资源使用 :read-operation-description 操作,在操作名称中传递,以确定该操作所需的参数。您还可以使用 Tab 补全来列出可用的参数。

    以下操作通过将 enabled 属性设置为 false 来禁用 ExampleDS 数据源。

    /subsystem=datasources/data-source=ExampleDS:write-attribute(name=enabled,value=false)
    Copy to Clipboard Toggle word wrap

输入之后,管理界面将在服务器配置上执行操作请求。根据操作请求,您将接收到包含结果以及操作结果或响应的输出。

禁用 ExampleDS 数据源的以下响应显示操作成功,需要重新加载服务器才能生效。

{
    "outcome" => "success",
    "response-headers" => {
        "operation-requires-reload" => true,
        "process-state" => "reload-required"
    }
}
Copy to Clipboard Toggle word wrap

您可以使用 read-attribute 操作来读取 ExampleDS 数据源的 enabled 属性的值。

/subsystem=datasources/data-source=ExampleDS:read-attribute(name=enabled)
Copy to Clipboard Toggle word wrap

以下响应显示操作成功,并且 enabled 值为 false

{
    "outcome" => "success",
    "result" => false,
}
Copy to Clipboard Toggle word wrap

4.1. 显示资源值

您可以使用 read-resource 操作来查看资源的属性值。

:read-resource
Copy to Clipboard Toggle word wrap

您可以指定参数,以递归方式提供有关子资源的完整信息。您还可以指定参数,以包括运行时属性、解析表达式和包含别名。使用 read-operation-description(name=read-resource) 查看所有可用参数的 read-resource 的描述。

以下示例读取部署的属性:它包括部署名称、是否启用它的详细信息,以及它最后一次启用的时间。

/deployment=DEPLOYMENT_NAME:read-resource
{
    "outcome" => "success",
    "result" => {
        ...
        "enabled" => true,
        "enabled-time" => 1453929902598L,
        "enabled-timestamp" => "2016-01-27 16:25:02,598 EST",
        "name" => "DEPLOYMENT_NAME",
        "owner" => undefined,
        "persistent" => true,
        "runtime-name" => "DEPLOYMENT_NAME",
        "subdeployment" => undefined,
        "subsystem" => {
            "undertow" => undefined,
            "logging" => undefined
        }
    }
}
Copy to Clipboard Toggle word wrap

包括运行时属性

include-runtime 参数可用于检索运行时属性。

以下示例读取部署的属性:除了持久属性外,它还包含运行时属性,如部署状态和上次禁用的时间。

/deployment=DEPLOYMENT_NAME:read-resource(include-runtime=true)
{
    "outcome" => "success",
    "result" => {
        ...
        "disabled-time" => undefined,
        "disabled-timestamp" => undefined,
        "enabled" => true,
        "enabled-time" => 1453929902598L,
        "enabled-timestamp" => "2016-01-27 16:25:02,598 EST",
        "name" => "DEPLOYMENT_NAME",
        "owner" => undefined,
        "persistent" => true,
        "runtime-name" => "DEPLOYMENT_NAME",
        "status" => "OK",
        "subdeployment" => undefined,
        "subsystem" => {
            "undertow" => undefined,
            "logging" => undefined
        }
    }
}
Copy to Clipboard Toggle word wrap

您还可以在传递布尔值参数时使用 not 运算符(!)。例如:

  • :read-resource(include-runtime=false) can be entered as :read-resource(!include-runtime)
  • :read-resource(include-runtime=true) 可以输入为 :read-resource(include-runtime)

递归读取子资源

可以使用 递归 参数从子资源中以递归方式检索属性。

以下示例读取部署的属性:除了资源自己的属性外,它还以递归方式返回其子资源的属性,如 undertow 子系统配置。

/deployment=DEPLOYMENT_NAME:read-resource(recursive=true)
{
    "outcome" => "success",
    "result" => {
        ...
        "enabled" => true,
        "enabled-time" => 1453929902598L,
        "enabled-timestamp" => "2016-01-27 16:25:02,598 EST",
        "name" => "DEPLOYMENT_NAME",
        "owner" => undefined,
        "persistent" => true,
        "runtime-name" => "DEPLOYMENT_NAME",
        "subdeployment" => undefined,
        "subsystem" => {
            "undertow" => {
                "context-root" => "/test",
                "server" => "default-server",
                "virtual-host" => "default-host",
                "servlet" => undefined,
                "websocket" => undefined
            },
            "logging" => {"configuration" => undefined}
        }
    }
}
Copy to Clipboard Toggle word wrap

排除默认值

include-defaults 参数可用于在读取资源的属性时显示或隐藏默认值。默认情况下是 true,这意味着在使用 read-resource 操作时会显示默认值。

以下示例对 undertow 子系统使用了 read-resource 操作:

/subsystem=undertow:read-resource
{
    "outcome" => "success",
    "result" => {
        "default-security-domain" => "other",
        "default-server" => "default-server",
        "default-servlet-container" => "default",
        "default-virtual-host" => "default-host",
        "instance-id" => expression "${jboss.node.name}",
        "statistics-enabled" => false,
        "buffer-cache" => {"default" => undefined},
        "configuration" => {
            "filter" => undefined,
            "handler" => undefined
        },
        "server" => {"default-server" => undefined},
        "servlet-container" => {"default" => undefined}
    }
}
Copy to Clipboard Toggle word wrap

以下示例也对 undertow 子系统使用 read-resource 操作,但将 include-defaults 参数设置为 false :现在,一些属性 (如启用了 statistics 和 default-server )显示 未定义 的值,而不是默认值。

/subsystem=undertow:read-resource(include-defaults=false)
{
    "outcome" => "success",
    "result" => {
        "default-security-domain" => undefined,
        "default-server" => undefined,
        "default-servlet-container" => undefined,
        "default-virtual-host" => undefined,
        "instance-id" => undefined,
        "statistics-enabled" => undefined,
        "buffer-cache" => {"default" => undefined},
        "configuration" => {
            "filter" => undefined,
            "handler" => undefined
        },
        "server" => {"default-server" => undefined},
        "servlet-container" => {"default" => undefined}
    }
}
Copy to Clipboard Toggle word wrap

resolve Expressions

resolve-expressions 参数可用于将返回属性的表达式解析为服务器上对应的值。

带有表达式的属性,作为其值使用格式 ${PARAMETER: DEFAULT_VALUE}。如需更多信息 ,请参阅《 配置指南》 中的属性替换

以下示例读取部署的属性:instance-id 属性显示其解析值(test-name),而不显示表达式(${jboss.node.name})。

/subsystem=undertow:read-resource(resolve-expressions=true)
{
    "outcome" => "success",
    "result" => {
        "default-security-domain" => "other",
        "default-server" => "default-server",
        "default-servlet-container" => "default",
        "default-virtual-host" => "default-host",
        "instance-id" => "test-name",
        "statistics-enabled" => false,
        "buffer-cache" => {"default" => undefined},
        "configuration" => {
            "filter" => undefined,
            "handler" => undefined
        },
        "server" => {"default-server" => undefined},
        "servlet-container" => {"default" => undefined}
    }
}
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat