我在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
的值?
答案 0 :(得分:3)
是。首先看一下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-client.jar
目录中还有一个$JBOSS_HOME/bin/client
,可以放在类路径上,它将包含所有必需的二进制文件。