问题标签 [mbeans]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4291 浏览

java - 远程 JMX 连接和通知问题

我正在尝试遵循与 UsageThreshold 相关的 Java API 文档 (http://download.oracle.com/javase/1.5.0/docs/api/java/lang/management/MemoryPoolMXBean.html#Notification) 中的一个示例内存池 Bean 和通知的属性。我的意图是每次池超过阈值时做一些事情。这是示例代码:

当我执行代码并连接到我的 JVM 时,我可以看到以下内容:

由于某种原因(我还不明白),代码正在尝试重新启动与 JVM 的连接。任何想法为什么会发生这种情况或如何防止它?我做错了什么吗?

谢谢

0 投票
1 回答
6646 浏览

java - 我应该如何访问在同一 VM 中运行的 JMX MBeanServer?

对于一个以恒定间隔执行操作的简单 Java 库,我使用 MXBeans 实现了 JMX 管理,它按预期工作,我可以在 JConsole 中查询状态和设置参数、暂停/恢复操作等。

现在我想创建一个 Web 应用程序 - 来显示和控制库操作。

我不知道在 Web 应用程序中使用 samy JMX API 是否是个好主意,所以我需要一种方法来访问使用平台 MBean 服务器在同一 VM 中注册的 MXBean:

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();

我注意到 MBeanServer 有一个 queryMBeans 方法。我应该使用这种方法来访问注册的 JMX API MXBeans 吗?有一个不同的路径,使用 JMXConnectorFactory,它需要协议、主机和端口信息,以便客户端可以访问远程 JMX 服务器。

0 投票
2 回答
3207 浏览

java - 检测新注册的 MBean

我正在使用 Java 1.6 中的平台 MBeans 服务器,在 OSGi 容器中运行。

主要将 MBean 用于统计计数​​器和事件。它们的实现在一个包中,但它们在其他几个包中实例化。每个 MBean 都会向平台 MBean 服务器自动注册自己。

问题是,当我通过 JMX 附加并查询 MBean 时,我只得到当前注册的那些,并且在它们被实例化之前它们不会被注册(或者因为静态类在第一次访问之前不存在,或者因为捆绑包还没有开始,或者计数器在某些逻辑中很深,直到第一次使用才会存在)

我需要某种方式来订阅 MBeans 服务器中的“注册”事件。或者其他确定何时将新的 MBean 添加到服务器的方法。检测已删除的 MBean 将是一个额外的好处,但不是必需的。

我得到的唯一解决方案基本上是每 5 秒轮询一次服务器并将结果与​​保存的 MBean 列表进行比较的线程,这非常难看。

0 投票
1 回答
216 浏览

java - 自定义 MBean HTML 页面

我正在寻找自定义用于管理 MBean 的代理视图、代理管理和 MBean 视图页面,并且想知道是否有人以前这样做过或知道有什么工具可以帮助实现这一点。

到目前为止,我只是简单地扩展了 HTML 生成类(HTMLAdminPage、HTMLObjectPage 和 HTMLPage),但是事实证明这很困难,因为它们是私有的/受保护的并且不能扩展。

0 投票
4 回答
5763 浏览

java - 如何通过jmx在运行时修改ThreadPoolTask​​Executor

我无法通过 JConsole 修改我的 MBean 属性。我有一个 Threading bean,它通过以下方式调用:

ThreadContent.xml 包含所有默认属性值。

SimpleJmxAgent 看起来像:

我有 ThreadPoolManager 从 ThreadPoolTask​​Executor 继承,以便让它访问 Thread 属性的 getter 和 setter 方法,例如: public void setCorePoolSize(int corePoolSize)

编辑:

我已经实现了使用:

包裹在一个:

所以现在 Operation 出现在 MBeans 选项卡中。但是,属性显示为与所使用的值不同的值。我已经在我的 ThreadContext.xml

但是,当查看属性设置为默认值 1 时。我可以通过changeCorePoolSize操作通过 Jconsole 更改它,但只有外观效果会更改显示的值,但不会更改仍然有 5 个TaskExecutor 线程仍在运行的正在进行的进程。

我在做的事情中错过了什么吗?什么可能导致我通过 ThreadContext.xml 设置的属性与在 Jconsole 的属性中显示的属性之间断开连接?

0 投票
1 回答
3827 浏览

java - JDK1.6 中 ManagementFactory 的托管 Mbean - NotCompliantMBeanException:

我在 JDK1.5 和 JBOSS 4.X 中使用 ManagementFactory 来获取 ManagedMbeans。现在想将我的相同代码移至 JDK 1.6。Mbean 部分中断抛出异常

原因:javax.management.NotCompliantMBeanException:类未公开管理接口:java.lang.Object 原因:java.lang.Exception:无法向 JBoss MBeanServer 注册平台(JVM)MBean

0 投票
1 回答
172 浏览

java - 是否有 MBean 的 XSD 文件

我正在开发一个 JMX 项目,为了公开项目中所有 MBean 的 MBean 的属性和操作,我想编写一个 API。为此,我需要来自提供程序的具有适当名称空间的 MBean xsd 文件,以便我可以使用 JAXB 或 XMLBeans 为它们生成 java 类。我尝试了谷歌,但只能找到没有正确命名空间的 DTD 文件或非标准 XSD 文件。

是否有可用的标准 XSD 可供我使用?谢谢。

0 投票
1 回答
312 浏览

java - Java 事件处理帮助(通知与 EventObjects)

我正在构建一个 Android 应用程序和一个黑莓应用程序(相同的应用程序不同的平台)。我正在构建一个抽象类来处理事件。例如,我触摸 Android 上的“保存”按钮,它会发布一个通知/事件。抽象类接收该事件。我按下黑莓上的“保存”按钮,它做同样的事情。

实现这一目标的最佳方法是什么?我查看了 EventObject,以及 MBeans 及其通知类,但它们看起来过于复杂。在objective-c中,我只是在objective-c通知中心注册了一个通知类实例,然后在触发通知的类中,在触发时我们按照“postNotification”的方式做一些事情。Java中有什么那么容易的吗?我还需要发送带有这些通知的对象。

哦,我想我们实际上不能使用任何 MBeans 类。不是黑莓 Java 版本的一部分。

谢谢!

0 投票
1 回答
1970 浏览

java - Accessing Websphere 7 MBeans using Sun JConsole

How do I access Websphere 7 MBeans using Sun's JConsole?

0 投票
4 回答
44181 浏览

java - JBoss AS 7 JMX 控制台

我今天花了一些时间检查JBoss AS7。到目前为止,我对所见所闻印象深刻,但我注意到好的 ol' JMX-Console 已不复存在。

  1. 有谁知道为什么它被遗漏了?
  2. 我知道我可以通过 JConsole、MC4J 等进行连接,但是是否有替代方案可以提供对已部署 MBean 的基于 Web 的访问?