2009-03-26 4 views
3

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

ответ

1

.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

1

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

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

1

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

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

0

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

Смежные вопросы