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

Posted

技术标签:

【中文标题】Wildfly 10 - 以编程方式读取配置参数【英文标题】:Wildfly 10 - read configuration parameter programmatically 【发布时间】:2016-12-16 17:57:52 【问题描述】:

我的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】:

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

您可以使用HTTP API、CLI 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.Final。在 $JBOSS_HOME/bin/client 目录中还有一个 jboss-client.jar 可以放在类路径中,该路径将包含所有必需的二进制文件。

【讨论】:

以上是关于Wildfly 10 - 以编程方式读取配置参数的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式在 Wildfly/Undertow 中创建虚拟主机

如何以编程方式在 Android 中创建和读取 WEP/EAP WiFi 配置?

配置 Wildfly 10 以使用 Jackson(作为 JSON 提供程序)

wildfly:从配置目录读取属性

wildfly 10负载均衡器UT005041

如何配置wildfly以使用EclipseLink?