问题标签 [mxbean]
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.
java - JMX 自定义映射
我知道在 JMX 领域内你有一个MXBean
,它只使用 Java 中指定的开放类型。当然,标准类型和开放类型之间存在映射关系。
现在,我知道您可以通过提供自己的映射来使用自己的自定义类型来扩展它们……这有什么意义?这不会破坏使用一组常见类型的目的吗,这基本上是MXBean
首先定义的?
java - Java:GarbageCollectorMXBean getCollectionCount 抛出 java.io.IOException:客户端已关闭
我正在编写一个 Java 应用程序,我在其中使用 Java GarbageCollectorMXBean
API 定期(每 5 秒)获取收集计数。下面是我为完成任务而编写的程序。
}
该程序运行良好,但有时它会在每个循环中重复出现以下 IOException。
查看代码,任何异常都会在 catch 块中捕获,其中所有字段都将初始化为 null,并且在下一个循环中,所有字段都将重新初始化。但是,查看日志,一旦异常开始出现,我只能getCollectionCount()
在每个循环中调用异常。我想知道即使对象被重新初始化,每次我得到同样的异常。
我正在从上述信息中查看以下内容
- 在所有情况下,我们都会
java.io.IOException: The client has been closed.
在上述场景中遇到此异常。我知道,如果我们调用jmxConnector.close()
然后使用已经创建的garbageCollectorMXBean
对象来获取集合计数,我们就会得到这个。但我的代码不遵循这条路。 - 对于上述问题,
jmxserver
远程 JMX 服务器是否有贡献?我试图通过停止/重新启动远程 JMX 服务器来重现,但无法做到。
java - JXM MXBean 自定义属性
我对 MXBean 自定义类型有疑问,我无法处理它。这是我的java结构,涉及Map< enum, OtherThing>
属性
PPV及其接口
PV及其接口
枚举
有了这一切,我得到:
我究竟做错了什么?问题出在哪里?
java - Windows 的 getSystemLoadAverage() 的替代方法?
我正在使用一些代码来监视使用 Java 的 Cpu 负载。我在我的应用程序中使用以下代码来获取系统负载
但在 Windows 上,它返回一个负值(-1.0)。有什么办法可以解决这个问题吗?
java - MXBean 操作签名中的抽象类型
我正在尝试创建一个 MXBean 操作,该操作将返回一个没有属性的抽象类型(实际类型及其属性将在运行时确定)。我的数据模型可以简单地说如下:
... MXBean 操作签名是:
该操作可以返回 A
具有foo
属性的实例或具有属性的B
实例bar
。当然,当NotCompliantMBeanException
我尝试注册MBean
实例时,我会立即看到一个闪亮的信息:
似乎我可以用常规MBean
s 做一些事情,Serializable
但不能用MXBean
s 和CompositeDataView
. 还是我错了?
java - 从多个 MBean 服务器取消注册 MXBean 时的 NPE
我有一个在 2 个 MBean 服务器中注册的 MXBean 实例:
该StandardMBean
实例包装了一个MXBeanSupport
. 我想稍后从两台服务器上注销我的 MBean:
问题是,unregister()
方法的MXBeanSupport
实现如下,显然只能调用一次:
否则,我会将 NPE 包装到RuntimeMBeanException
:
不过,仅从单个服务器取消注册 MBean不是一种选择。
如果不创建两个单独的 MBean 实例,我应该如何更正我的代码?
websphere - 未找到 mxbean - MobileFirst 控制台
我已经在 WebSphere Application Server 8.5.5.0 上安装了 MobileFirst 控制台。接下来,我安装了我的 MobileFirst 应用程序。不幸的是控制台显示消息:
此服务器中未部署运行时环境。
我在日志中发现了这些错误:
000000ab WASRuntimeMBe I Bean '*' 不存在。
000000ab RuntimeServic I 没有找到 mxbeans严重:GET http://localhost:8080/worklightadmin/management-apis/1.0/loginAudit java.io.IOException收到状态 500 :服务器返回 HTTP 响应代码:500 用于 URL:http://localhost:8080/worklightadmin/ management-apis/1.0/loginAudit 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessor>Impl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在 sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1676)
************ 开始显示当前环境 ************
WebSphere Platform 8.5.5.0 [BASE 8.5.5.0 gm1319.01] 以进程名称 >localhostNode01Cell\localhostNode01\server1 和进程 ID 19180 运行
主机操作系统是 Linux,版本 3.10.0-123.el7.x86_64
Java 版本 = 1.6.0 , Java 编译器 = j9jit26, Java VM 名称 = IBM J9 VM
was.install.root = /opt/IBM/WebSphere/AppServer
user.install.root = /opt/IBM/WebSphere/AppServer/profiles/AppSrv01
Java Home = /opt /IBM/WebSphere/AppServer/java/jre
java - 如何使用 JAVA 代码以编程方式捕获线程转储?
我想通过java代码生成线程转储,我尝试为此使用ThreadMXBean,但是我没有得到正确格式的线程转储,因为我们正在使用jstack命令。请任何人提供一些帮助..他们是否有任何其他方式来获取线程转储...使用任何其他 API ..我想要的线程转储格式是 -
java - Java,单元测试模拟 mxbean
我想按 CPU 时间对所有 Java 线程进行排序。我使用 ThreadMXBean 通过线程 ID 获取线程的 CPU 时间。比较器用于对线程 ID 进行排序。
我做了以下单元测试:
但我不能让测试工作。我认为是因为嘲笑不起作用。有人可以告诉我如何修复单元测试吗?
java - 为什么 sun.management.OperatingSystemImpl 是包可见的?
这个类有非常有用的方法。我可以通过反思来称呼他们。但是我为什么要强迫它呢?
我想将 OperatingSystemMXBean 转换为 OperatingSystemImpl 并以正常方式调用它们。
提前致谢。