在我的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
的值?
是。首先看一下Management API参考文档。这会让你对管理模式有一个大致的了解。
您可以使用HTTP API、CLI脚本或使用本机管理客户端读取该属性。下面是一个使用本地管理客户端的示例。
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
,可以放在类路径中,它将包含所有所需的二进制文件。