Есть ли способ для C # общаться с сервером Java через JMX, используя MBeans? - PullRequest
3 голосов
/ 10 июня 2011

У меня есть сервер, написанный на Java для обслуживания HTTP-запросов для различных клиентов. У меня также есть несколько MBean-компонентов на этом сервере через JMX, из которых инструмент мониторинга может следить за некоторыми ресурсами сервера и помогать в обслуживании.

Весь код, который выполняется системой / интеграцией, проверяет конечные точки HTTP на C #. Из-за этого я надеялся использовать C # для проверки своих MBeans поверх JMX. Существует ли библиотека для таких вещей, или мне придется самому внедрять протокол? Какие еще варианты (с C #) я могу иметь?

Ответы [ 2 ]

5 голосов
/ 10 июня 2011

Вы можете использовать мост JMX, например Jolokia , который предоставляет MBeans через HTTP и JSON для внешнего мира.Доступно несколько клиентских библиотек (Java, Perl, Javascript), к сожалению, пока не для C #.Однако, поскольку протокол хорошо задокументирован , доступ к агентам Jolokia из C # также не должен быть таким сложным.Протокол поддерживает запросы GET, поэтому его использование в основном подразумевает создание правильного URL-адреса HTTP, отправку HTTP-запроса и анализ HTTP-ответа как JSON.Существует также образец , как это сделать в скрипте bash.

2 голосов
/ 10 июня 2011

Я могу засвидетельствовать юзабилити Jolokia. Отличный продукт. Два дополнительных варианта:

  • JMX WebService Connector : установите WS JMXConnectorServer в целевой JVM, и вы можете использовать стандартные вызовы WebService для взаимодействия с сервером JMX.
  • IKVM : Это компилятор, который преобразует байт-код Java в байт-код .NET. Стандартное удаленное взаимодействие JMX отлично работает на клиенте C #.
...