java - 冒充 'jconsole'

标签 java jmx

我想避免为进程分配特定的 TCP 端口,但仍然能够与其中的 JMX MBean 建立(本地)连接。我不断看到证据表明这应该是可能的,但我无法弄清楚我将使用什么作为 JNDI 名称来引用某些此类进程,或者像 jconsole 那样迭代所有这些进程。

最佳答案

我相信您正在寻找 Attach API它不会(表面上)使用 JNDI 名称,而只是通过 PID 连接。这不是一个坏方法,但我不确定是否所有 JVM 都实现了这个 API。这是 groovy 中的一个快速示例:

import com.sun.tools.attach.*;

VirtualMachine.list().each() { vmd ->
    try {
        VirtualMachine vm = VirtualMachine.attach(vmd);
        println vm;
    } catch (Exception e) {}
}

关于java - 冒充 'jconsole',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4462450/

相关文章:

java - 请记住,序数参数是从 1 开始的!位置 : 1 in Mysql

java - Hazelcast MBean 丢失

java - 卡夫卡连接。如何为连接器启用 jmx 指标

java - 通过 GarbageCollectorMXBean 确定 GC 类型

java - 使用同步方法而不是同步块(synchronized block)有优势吗?

java - 为什么在 Java 内存模型中两次写入同一个变量会发生冲突?

java - HOTP - 正确使用 RFC 示例

java - 如何在Java中通过executeUpdate命令使用Access的Replace()函数?

java - 测量 JVM : java code 的 CPU 使用率

java - JMX 轮询或 TCP 推送 : What is better?