有没有办法用 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>
<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>