- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在努力了解如何利用/使用 MBeanInfo
(以及相关的 MBeanAttributeInfo
、ModelMBeanInfo
等)及其相关内容描述符
。
据我所知,MBean*Info
就像一个 Class
对象,包含有关可用方法/属性/构造函数等的信息。另外,据我所知,这些信息是不可变的,是在 MBeanServer.registerMBean
或使用 StandardMBean
类的过程中为我们生成的(也许 MBeanServer 实际上使用了 StandardMbean
类?)它使用反射来生成此信息。这或多或少是正确的吗?
此外,我猜想存在一个 ModelMBean
的概念,我们可以通过编程方式将我们自己的 MBeanInfo
传递给它。如果可以通过带有反射的 StandardMbean
实现相同的目的,那么这样做有什么意义?
最后,描述符
被放置到位,允许用户通过以描述符的形式提供(名称,值)对来扩展 mbean 上的信息。它可以附加到任何 MBean*Info
类(构造函数、属性、操作等)。但是,它可以在 Info 对象的构造期间附加,因为它是不可变的。因此,使用 StandardMbean
自行生成此信息,无法注入(inject)额外信息,因为我们从 MBeanInfo
获取的描述符也是不可变的......我在这里错过了什么吗?向 MBean
上的构造函数/字段/方法的描述符添加额外信息的简单方法是什么?
最佳答案
... this information is immutable and generated for us in the process of MBeanServer.registerMBean or using StandardMBean class ... which uses reflection to generate this information. Is this more or less correct?
是的。构建有关 bean 的信息,然后向服务器注册,以便可以将其发布到客户端。不确定 MBeanServer
是否在幕后创建了 StandardMBean
。
What is the point of doing so if the same can be achieved via a StandardMbean with reflection?
MBean*Info
类允许您以编程方式发布到具体类型的 JMX 映射,无需接口(interface)/实现。这使得 Spring 等外部包能够检测和发布 JMX bean,这些 JMX bean 可以调用已发现的具有特殊 @ManagedResource
属性的 bean。
这也是我的SimpleJMX package的方式能够发布带有注释的bean。您所需要做的就是将以下内容添加到您的一个类中,SimpleJMX 以编程方式创建描述该类的 MbeanInfo
实例。您不需要自己定义 JMX 接口(interface)/impl。
@JmxResource(description = "Lookup cache", domainName = "j256")
public class LookupCache {
@JmxAttributeField(description = "Number of hits in the cache")
private int hitCount;
...
在内部,SimpleJMX 创建其实现 javax.management.DynamicMBean
的类的实例。该接口(interface)公开了 get、set、invoke 操作方法。它还返回描述 JMX 发布类的 MBeanInfo
。
Am I missing something here? What would be the easy way to add extra information to descriptors of contructors/fields/methods on a MBean?
我没有将Descriptors
与SimpleJMX
一起使用,所以我不知道它们是如何使用的。它们看起来是有关方法或参数的元信息,例如 deprecated
、defaultValue
等。这似乎也是不可变的静态信息。
关于java - JMX MBeanInfo 和描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20050127/
我可以知道应用程序开发人员通常对使用 JMX 感兴趣的典型指标是什么,除了: CPU 使用率 内存消耗 尼古拉斯 最佳答案 我会补充: 类加载器行为 线程 关于jmx - 来自 JMX 的有趣指标,我
是否可以从命令行使用 JMX 在 linux (CentOS) 上运行的进程上获取服务器堆转储? 无法打开 VisualVM,无法安装jmap 最佳答案 可以用这个简单的代码来完成: import c
我必须根据数据库中的条目对 JMX 客户端进行身份验证。因此,我编写了一个自定义的 JMXAuthenticator 实现。 启动我的应用程序时,我可以通过“本地进程”使用 JConsole 访问 M
对于我即将发表的学士论文,我想开发一个工具,从 Apache Flink 收集系统和应用程序数据,并将这些数据以某种“事件”的形式发送到另一个系统。该工具将安装在 Flink 作业和任务管理器节点上。
我正在尝试将 jconsole 连接到通过以下方式调用的 jvm: java \ -Djava.util.logging.config.file=./logging.properties \ -Dco
在 JConsole 中查看 JMX bean 时,它将给定域部分下的所有 bean 呈现为层次结构。 (JVisualVM 与 JConsole MBeans 插件具有相同的行为。) 我意识到 JM
如何配置 CACTI 以监控来自 JMX 的值? 最佳答案 http://forums.cacti.net/post-197459.html有一个很好的教程,介绍如何设置 Cacti 以使用 jmx4
我正在尝试使用 jmx_exporter java 代理( https://github.com/prometheus/jmx_exporter )进行模式匹配和命名普罗米修斯指标。 关于如何在处理
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
看来我过去从来没有让这个工作过。目前,我知道它不起作用。 但是我们启动了 Java 进程: -Dcom.sun.management.jmxremote -Dcom.sun.management.jm
我想知道,我们有没有让开发更容易的框架/库?例如,Apache Mina 或 Netty 使 NIO 编程更容易。 听说过Spring JMX、MX4J,是不是很好用? 最佳答案 我为此使用了 Spr
我正在尝试编写一个应用程序监控工具,我遇到了两个标准,JPDA 和 JMX。他们似乎和我有些相似。有什么不同? 最佳答案 JPDA用于调试 和 JMX用于监控。如果您正在开发监控工具 - 选择是显而易
我已将 jmxtrans 配置为从 "kafka.server":type="BrokerTopicMetrics",name="AllTopicsMessagesInPerSec" 获取值 它有 3
所以我有一个运行 Apache Kafka(测试)的 EC2 服务器。它具有用于 JMX 和 EC2 安全设置的端口 9111,以打开该端口。 我试图在我的 Mac 上运行 JConsole 来读取该
如何将 JMX 指标发送到 statsD 守护进程?我可以看到有一些解决方案,其中有用于轮询 JMX 指标的插件,但我希望更多地将指标推送到一些守护进程,这些守护进程可以聚合并将其存储在某些存储中,例
我想在 tomcat7-maven-plugin 上启用 JMX。如何将 CATALINA_OPTS 传递给插件配置? 最佳答案 两种可能的解决方案(未测试): 在 MAVEN_OPTS 中添加 sy
有没有类似于 Spring JMX 导出器的东西 没有 使用 Spring 框架? SimpleJMX似乎是合理的,但似乎也是一个非常年轻的框架,只有一个人插入。 我需要将一大堆属性、方法和类公开为
我想提取这些数据http://code.google.com/p/memcached-session-manager/wiki/JMXStatistics通过 jmx 但仅使用命令行。 这是因为这是进
当我尝试运行我的应用程序时,出现上述错误。我确信这与我从 log4j 更新到 log4j2 有关,因为如果我不引用 log4j2.xml 文件,错误就会消失。 为什么我会收到此错误? 这是完整的堆栈跟
这与 JMS 和 JMS 提供者的情况类似吗?或者我可以在没有应用程序服务器和 JMX 提供程序的情况下使用 JMX 吗? 最佳答案 绝对是的。 JMX 是标准 JavaSE6 API 的一部分。每个
我是一名优秀的程序员,十分优秀!