有没有办法用 java 获取 wildfly 配置的子系统信息?

is there a way for get subsystem info of wildfly config with java?

 <subsystem xmlns="urn:jboss:domain:undertow:3.1">  
   <!-- ... -->  
    <servlet-container name="default" default-session-timeout="30">  
        <!-- ... -->  
    </servlet-container>  
    <!-- ... -->  
</subsystem>

我想在 java 程序中获取上述子系统的 default-session-timeout 的值。如何实现?我在互联网上搜索过,但没有找到任何有用的信息。

你会想看看 ModelControllerClient API。

像这样的东西就可以了:

final ModelNode address = Operations.createAddress("subsystem", "undertow", "servlet-container", "default");
final ModelNode op = Operations.createReadAttributeOperation(address, "default-session-timeout");
try (ModelControllerClient client = ModelControllerClient.Factory.create("localhost", 9990)) {
    final ModelNode result = client.execute(op);
    if (!Operations.isSuccessfulOutcome(result)) {
        throw new RuntimeException(Operations.getFailureDescription(result).asString());
    }
    System.out.println(Operations.readResult(result).asInt());
}

如果您使用的是 Maven,则依赖项类似于:

<dependency>
    <groupId>org.wildfly.core</groupId>
    <artifactId>wildfly-controller-client</artifactId>
    <version>${version.org.wildfly.core}</version>
</dependency>