Ответ 1
Если вы знаете номер процесса, вы можете использовать netstat, чтобы узнать, какие порты программа прослушивает с помощью чего-то вроде
$ netstat -apn | grep <proc num>
Обычный порт для прослушивателей JMX - 1099.
Я уверен, что смогу понять, могу ли я видеть параметры JAVA OPTS. Я хочу контролировать сервер hornetq с помощью Jconsole, поэтому мне нужен номер порта.
Я помню, что использовал некоторую команду, например, java grep и т.д., когда я снова подключился к ней.
Если вы знаете номер процесса, вы можете использовать netstat, чтобы узнать, какие порты программа прослушивает с помощью чего-то вроде
$ netstat -apn | grep <proc num>
Обычный порт для прослушивателей JMX - 1099.
Я знаю это старое сообщение. Вы также можете получить информацию из системы:
String jmx1 = System.getProperty("com.sun.management.jmxremote");
String jmx2 = System.getProperty("com.sun.management.jmxremote.port");
String jmx3 = System.getProperty("com.sun.management.jmxremote.authenticate");
String jmx4 = System.getProperty("com.sun.management.jmxremote.ssl");
String jmx5 = System.getProperty("java.rmi.server.hostname");
Вы также можете вручную установить порт из параметров командной строки JVM, например:
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=1616
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
Вы можете программно обращаться к аргументам JVM следующим образом:
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
...
RuntimeMXBean RuntimemxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = RuntimemxBean.getInputArguments();