0

我正在尝试使用 DMR API 实现一些简单的监控,到目前为止,我可以列出所有数据源,然后使用以下 cli 表达式 [/subsystem=datasources:read-resource(recursive=true)] 为每个数据源获取一些统计信息到 Java:

ModelNode request = new ModelNode();
ModelNode op = request.get(ClientConstants.OP);
op.set(ClientConstants.READ_RESOURCE_OPERATION);
request.get(ClientConstants.RECURSIVE).set(true);
ModelNode address = request.get(ClientConstants.OP_ADDR);
address.add(ClientConstants.SUBSYSTEM, "datasources");
final ModelNode response = verify(client.execute(new OperationBuilder(request).build()));
List<ModelNode> list = response.get(ClientConstants.RESULT).get("data-source").asList();
for (ModelNode node : list) {
    String dsName = node.keys().iterator().next();
    //...Check for each ds using the cli expression
    //[/subsystem=datasources/data-source=dsName/statistics=pool:read-resource(recursive=true, include-runtime=true)]
}

但是,如果我尝试使用 cli 表达式[/subsystem=ejb3:read-resource(recursive=true)]对 ejb3 执行相同的操作,我不会得到 ejb3 的列表,但会有所不同。

我知道如果我已经使用 cli 表达式[/deployment=App.war/subsystem=ejb3/message-driven-bean=Consumer:read-resource( include-runtime=true)]但我有很多,所以我不想包括它们的列表。

有哪位高手可以帮助我吗?

谢谢!

约翰

4

1 回答 1

0

在开始收集 ejb 统计信息之前,您需要添加“statistics”属性并在 ejb3 子系统中启用它。请在下面找到相应的 CLI 命令:

#Standalone Mode
/subsystem=ejb3:write-attribute(name=enable-statistics, value=true)
于 2017-11-22T07:00:29.703 回答