Java jmxremote没有打开端口

时间:2014-03-21 11:36:05

标签: java jmx

我已经制作了一个hello world java程序来测试jmxremote的工作原理:

public class Main {
    public static void main(String argv[]) {
        try {
            System.out.println("Press  to continue...");
            System.in.read();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用javac Main.java编译它,并像

一样运行它

java -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=9010 \ -Dcom.sun.management.jmxremote.local.only=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ Main

然而端口永远不会被打开:

# telnet localhost 9010
Trying ::1...
telnet: connect to address ::1: Connection refused

(nc -l和netstat显示相同的结果)。 Java版本是

java version "1.5.0"
gij (GNU libgcj) version 4.4.7 20120313 (Red Hat 4.4.7-4)

和操作系统是Centos 6.5(使用yum从默认仓库安装java)。

我该如何解决这个问题?

我试过弄乱选项名称,但从来没有得到任何关于错误的信息 - jmx甚至可以在java 1.5中使用吗?

1 个答案:

答案 0 :(得分:1)

就像人们所说的那样,libgcj并不是一个好主意。从GNU人员那里尝试分叉GPL许可的JVM是一个糟糕的尝试,它将Java代码编译为机器代码,而不是字节代码。它现在是一个永不支持JMX的死项目。

yum install java-1.7.0-openjdk-devel将提供您所需的功能。