Я хочу подключиться к Java J9 JVM версии 7, которая работает на AIX. Приложение Java настроено для включения агента центра работоспособности, и система сообщает, что порт JMX открыт. Но когда я запускаю клиент центра работоспособности, который я установил через сайт обновлений в свой экземпляр Eclipse, ввожу имя хоста и номер порта в мастер подключения JMX, он начинает сканировать с порта, который я указал, до номера порта + 100, и потом пишет, что не смог найти JVM.
Я что-то упускаю?
Java-версия на AIX
java version "1.7.0"
Java(TM) SE Runtime Environment (build pap6470_27-20131115_04)
IBM J9 VM (build 2.7, JRE 1.7.0 AIX ppc64-64 Compressed References 20131114_175264 (JIT enabled, AOT enabled)
J9VM - R27_Java727_GA_20131114_0833_B175264
JIT - tr.r13.java_20131113_50523
GC - R27_Java727_GA_20131114_0833_B175264_CMPRSS
J9CL - 20131114_175264)
JCL - 20131113_01 based on Oracle 7u45-b18de here
Командная строка для запуска Java-приложения
java -Xmn100m -Xms400m -Xmx400m -Xhealthcenter ...
Журнал JVM относительно агента центра здоровья
Mar 18, 2016 6:15:09 PM com.ibm.java.diagnostics.healthcenter.agent.mbean.HCLaunchMBean <init>
INFO: Agent version "2.2.0.20131003"
Mar 18, 2016 6:15:09 PM com.ibm.java.diagnostics.healthcenter.agent.mbean.HCLaunchMBean startMBeanServer
INFO: IIOP will be listening on the next available system assigned port. Use com.ibm.java.diagnostics.healthcenter.agent.iiop.port to specify a port
Mar 18, 2016 6:15:09 PM com.ibm.java.diagnostics.healthcenter.agent.mbean.HCLaunchMBean startAgent
INFO: Health Center agent started on port 1972.
Порт агента открыт на сервере
(1) machine:user1:/home/user1> lsof -nP | grep LISTEN | grep 1972
java 30474378 user1 77u IPv6 0xf1000e000a345bb8 0t0 TCP *:1972 (LISTEN)
(1) machine:user1:/home/user1> ps ax | grep 30474378
24707098 pts/3 A 0:00 grep 30474378
30474378 - A 0:13 /usr/bin/java -Xmn100m -Xms400m -Xmx400m -Xhealthcenter -
(1) machine:user1:/home/user1>
Порт открыт с клиентской машины:
Starting Nmap 6.47 ( http://nmap.org ) at 2016-03-18 18:19 BRT
Nmap scan report for machine (172.1.1.10)
Host is up (0.024s latency).
Not shown: 973 closed ports
PORT STATE SERVICE
...
1972/tcp open intersys-cache
...
Nmap done: 1 IP address (1 host up) scanned in 4.24 seconds
РЕДАКТИРОВАТЬ: я понял, что открытый порт на машине AIX прослушивал IPv6. Я добавил свойство -Djava.net.preferIPv4Stack=true
, после чего агент начал прослушивать порт IPv4:
(1) machine:user1:/home/user1/log> lsof -nP | grep LISTEN | grep IPv4 | grep 1972
java 57016438 user1 77u IPv4 0xf1000e0004dbd3b8 0t0 TCP *:1972 (LISTEN)
(1) machine:user1:/home/user1/log>
Но, тем не менее, клиент центра здоровья не находит JVM на этом порту