Следующая информация относится к Websphere 6.1 в Windows.
Прежде всего, магический URL для подключения к серверу MBean:
service:jmx:iiop://<host>:<port>/jndi/JMXConnector
Если у вас установлена стандартная версия Websphere, номер порта JNDI, скорее всего, будет 2809, 2810, ... в зависимости от того, сколько серверов установлено в одной системе и какой конкретный сервер вы хотите подключить. Чтобы быть уверенным, при запуске Websphere, проверьте журналы, так как она выведет строку вроде
0000000a RMIConnectorC A ADMC0026I: The RMI Connector is available at port 2810
Если вы не получили эту строку, откройте консоль администратора Websphere и перейдите на
Серверы приложений> server1>
Администрирование> JMX
Разъемы
чтобы узнать, нужно ли вам добавить или изменить конфигурацию.
Второй важный бит информации заключается в том, что при выполнении JMX с сервером всегда требуется следующий JAR-файл:
com.ibm.ws.admin.client_6.1.0.jar
Вы можете найти этот JAR в каталоге runtimes
Websphere. Что бы вы ни делали, будь то программный доступ к MBeans в Websphere или использование JConsole и т. Д., Используйте магический URL-адрес, и всегда включает этот JAR-файл.
В оставшейся части этого ответа предположим, что Websphere установлен в D: \ prog \ was61.
Чтобы запустить JConsole, введите следующее:
D:\prog\was61\java\bin>jconsole -J-Djava.class.path=d:\prog\was61\java\lib\tools.jar;D:\prog\was61\runtimes\com.ibm.ws.admin.client_6.1.0.jar
Затем перейдите на вкладку «Дополнительно» и введите магический URL JMX. Нажмите connect, и вы увидите, что MBeans появится.
Использование Sun JDK - это совсем другое дело. Вам нужен один дополнительный JAR, который находится в библиотеке IBM JDK, но не в Sun (ibmorb.jar), и, возможно, вам подойдет следующая команда:
C:\Program Files\Java\jdk1.5.0_11\bin>jconsole -J-Djava.class.path="c:\Program Files\Java\jdk1.5.0_11\lib\jconsole.jar";"c:\Program Files\Java\jdk1.5.0_11\lib\tools.jar";D:\prog\was61\runtimes\com.ibm.ws.admin.client_6.1.0.jar;D:\prog\was61\java\jre\lib\ibmorb.jar
Я говорю, может быть, потому что это не сработало для меня. Я получил хорошее сообщение об ошибке jndiUnavailCommErr, так как он ожидал что-то на порту 2809, в то время как моя установка Websphere прослушивает 2810, хотя я правильно указал порт 2810 в URL-адресе JMX. Но если вы адаптируете пути к своей Sun JDK, это может сработать для вас. Это самое близкое мне соединение с Websphere с использованием Sun JDK.
Последнее замечание: я пробовал решение на основе RMI, также есть доступный разъем SOAP, но не пробовал его.
Как всегда с J2EE, Websphere и прочим: удачи, он вам понадобится.