2015-05-14 50 views
0

我知道在java進程上啓用JMX。用了身份驗證或SSL訪問Java進程的典型建議看起來是這樣的:在java進程上啓用JMX

-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=5459 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 

我能夠明白,只是第一個屬性。 -Dcom.sun.management.jmxremote 是什麼意思?

我的java進程公開JMX只有以下3個java選項,並且我可以使用jconsole進行連接。

-Dcom.sun.management.jmxremote.port=5459 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 

如果我沒有指定「-Dcom.sun.management.jmxremote」參數,會發生什麼?

回答

0

從我所知道的看,它看起來只是歷史的,在Java 6及更高版本中不再需要。

在以前的Java SE平臺版本中,爲了允許JMX客戶端訪問本地Java VM,在啓動Java VM或Java應用程序時必須設置以下系統屬性。

com.sun.management.jmxremote

設置該屬性註冊的Java虛擬機平臺的MBean和通過專用接口發佈的遠程方法調用(RMI)連接器,允許JMX客戶端應用程序監視本地Java平臺,即與JMX客戶端在同一臺機器上運行的Java VM。

在Java SE 6平臺中,不再需要設置此係統屬性。在Java SE 6平臺上啓動的任何應用程序都將支持Attach API,因此將在需要時自動用於本地監視和管理。

編號:http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html