我正在尝试使用DMR实现一些简单的监视,到目前为止,我可以列出所有数据源,然后通过将以下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的列表,而会得到一些不同的内容。
我知道我可以得到我想要的,如果我已经知道应用程序的名称和它的mdb与cli表达式/deployment=App.war/subsystem=ejb3/message-driven-bean=Consumer:read-resource(include-runtime=true),但我有很多,所以我不想包括他们的列表。
有专家能帮我吗?
谢谢!
约翰恩
发布于 2017-11-22 07:00:29
在开始收集之前,需要添加" statistics“属性并在ejb3子系统中启用它。请在共同响应的CLI命令下面找到:
#Standalone Mode
/subsystem=ejb3:write-attribute(name=enable-statistics, value=true)https://stackoverflow.com/questions/47420422
复制相似问题