Есть ли способ получить информацию о подсистеме конфигурации Wildfly с Java? - PullRequest
0 голосов
/ 13 февраля 2019
 <subsystem xmlns="urn:jboss:domain:undertow:3.1">  
   <!-- ... -->  
    <servlet-container name="default" default-session-timeout="30">  
        <!-- ... -->  
    </servlet-container>  
    <!-- ... -->  
</subsystem>

Я хочу получить значение default-session-timeout вышеуказанной подсистемы в Java-программе.Как этого добиться?Я искал в интернете, но не нашел никакой полезной информации.

1 Ответ

0 голосов
/ 13 февраля 2019

Вам захочется взглянуть на 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>
...