Учетные данные командной строки JConsole

Можно ли передавать учетные данные для контролируемого ресурса JConsole при запуске через командную строку. У меня есть такая команда прямо сейчас.

${jdk.home}/bin/jconsole.exe
    -J-Djava.class.path=${jdk.home}/lib/jconsole.jar;
        ${jdk.home}/lib/tools.jar;${weblogic.home}/server/lib/wljmxclient.jar
    -J-Djmx.remote.protocol.provider.pkgs=weblogic.management.remote
    service:jmx:iiop://127.0.0.1:7510/jndi/weblogic.management.mbeanservers.runtime

Кто-нибудь знает, если это возможно, и где должны быть размещены эти учетные данные.

Спасибо.

Ответы

Ответ 1

Я не думаю, что для этого есть опция доступа к командной строке. Это разумный подход, поскольку он откроет учетные данные в сигнатуре процесса, которые могут быть видны другим.

Однако вы можете указать файл паролей, используя системное свойство com.sun.management.jmxremote.password.file.

Эти параметры описаны здесь.

Ответ 2

Насколько я знаю, вы не можете. Из вашего примера, хотя похоже, что вы только пытаетесь подключиться локально к процессу JMX. В этом случае вы можете просто отключить проверку подлинности в процессе JMX (и убедиться, что он прослушивает JMX только через localhost). Тогда вам не нужно передавать учетные данные, и он будет работать с jconsole. Для истинного удаленного соединения (в котором вам определенно нужна аутентификация, в том числе шифрование), я думаю, вам нужно попробовать один из многих других клиентов типа jmx.

Ответ 3

Это невозможно с JConsole. Альтернативная консоль JMX, которая позволяет вам передавать имя пользователя/пароль из командной строки, - jmxterm.

Его можно найти здесь: http://wiki.cyclopsgroup.org/jmxterm