Как подключить приложение .Net к агенту JMX? - PullRequest
3 голосов
/ 26 марта 2009

Мне нужно подключить свое приложение .Net к другому агенту JMX. Я читал, что это просто не готово, и я должен использовать мыло или что-то еще. Поскольку этого просто не произойдет, есть ли какие-нибудь библиотеки или методы взаимодействия, которые могут мне помочь? Меня интересуют только простые вещи, такие как вызов удаленной операции или возвращение строкового результата.

Ответы [ 4 ]

1 голос
/ 05 апреля 2009

Если вы запускаете HtmlAdaptorServer - вы можете просто использовать URL-адреса для вызова методов JMX с использованием стандартных HTTP-вызовов.

Я делал это в прошлом из Perl как часть задачи системного администрирования. Это не красиво и не поддерживается, если интерфейсы JMX сильно меняются. Но .. если вам нужен быстрый и грязный взлом - это оно!

1 голос
/ 27 февраля 2010

Агенты Web Services Connector для Java Management Extensions (JMX) и эталонная реализация ws-jmx-connector будут моим выбором. JSR 262 предоставит новую возможность для межплатформенных / кросс-языковых проектов интеграции предприятий, но, к сожалению, разработка замедлилась.

Для вызова всех операций интерфейса управления JMX, IIRC, включая обратные вызовы / уведомления, потребуется только несколько вызовов SOAP.

1 голос
/ 26 марта 2009

.NET на самом деле не технология, используемая для общения с JMX. JMX - это встроенный стандарт, который является частью Java, но довольно специфичен для работы в Java. Я предполагаю, что вы не можете контролировать приложение, которое пытаетесь использовать, поскольку указываете, что пытаетесь использовать чужой агент JMX.

В этом случае вы можете рассмотреть возможность написания своего приложения или его части на Java. Это лучший способ получить доступ к JMX. Если это не вариант, у вас есть несколько вещей, которые вы можете посмотреть:

1) Проверьте, может ли приложение, к которому вы подключаетесь, представлять данные как что-то отличное от JMX. Обычно нетрудно разрешить доступ через веб-сервисы к одним и тем же данным.

2) Напишите небольшую оболочку Java, которая взаимодействует с сервером JMX и предоставляет веб-службы. Это позволяет запрашивать веб-службы, которые, в свою очередь, используют JMX.

3) Существуют и другие агенты, которым JMX разрешает общаться с другими технологиями. Вы можете использовать что-то вроде агента SNMP и использовать ловушки SNMP из .NET. Более подробную информацию об этом можно найти здесь: http://java.sun.com/javase/6/docs/technotes/guides/management/snmp.html

0 голосов
/ 16 апреля 2011

Вы можете сделать это с помощью IKVM . Это Java Byte Code для .Net CLR компилятора и прекрасно работает с JMX.

...