Wildfly 10 - 以编程方式读取配置参数

时间:2016-08-10 11:13:53

标签: undertow wildfly-10

我在standalone.xml中有这个:

<subsystem xmlns="urn:jboss:domain:undertow:3.0">
       <server name="default-server">
            <http-listener name="default" max-post-size="10000000" ...

有没有办法以编程方式读取max-post-size的值?

1 个答案:

答案 0 :(得分:3)

是。首先看一下Management API reference文档。这将为您提供管理模型的概述。

您可以使用HTTP APICLI scripting或使用native management client阅读该属性。以下是使用本机管理客户端的示例。

try (final ModelControllerClient client = ModelControllerClient.Factory.create(InetAddress.getLocalHost(), 9990)) {
    final ModelNode address = Operations.createAddress("subsystem", "undertow", "server", "default-server", "http-listener", "default");
    final ModelNode op = Operations.createReadAttributeOperation(address, "max-post-size");
    final ModelNode result = client.execute(op);
    if (Operations.isSuccessfulOutcome(result)) {
        System.out.println(Operations.readResult(result).asLong());
    } else {
        throw new RuntimeException(Operations.getFailureDescription(result).asString());
    }
}

如果你正在使用maven,你只需要依赖org.wildfly.core:wildfly-controller-client:2.2.0.Finaljboss-client.jar目录中还有一个$JBOSS_HOME/bin/client,可以放在类路径上,它将包含所有必需的二进制文件。