2012-06-26 3 views
5

Есть ли что-то похожее на весной JMX экспортера там БЕЗ с использованием весны рамки?JMX экспорт рамы похож на весной JMX экспортер

SimpleJMX представляется разумным, но, похоже, также очень молодой каркас, который толкнул только один человек.

Мне нужно разоблачить целую кучу атрибутов, методов и классов как JMX, но не хочу возиться с JMX API и писать тонны JMX-интерфейсов.

И нет возможности представить Spring в проекте (на всякий случай, если вы спросите). Любые намеки или идеи приветствуются :-)

ответ

2

Хорошо, я быстро оценил SimpleJMX и JMXUtils. Оба работают так, как ожидалось, и очень похожи на экспортера Spring JMX. Тем не менее, я нахожу JMXUtils более удобным в своем случае.

С JMXUtils очень легко зарегистрировать/отменить регистрацию MBeans на уже запущенном сервере mbean платформы. В моем случае я использовал GlassFish V3 в качестве сервера приложений, и я не хотел запускать другой сервер MBean только для своих собственных mbeans.

Насколько я понимаю, API-интерфейс SimpleJMX не позволяет этого, и вы либо вынуждены запускать другой MBeanServer с помощью SimpleJMX API, и регистрировать созданные mbeans (очень легко с API), либо начинаете возиться с помощью для регистрации mbeans в сервере платформы mbean. Позднее немного сложнее, поэтому я решил использовать JMXUtils.

Недостатком JMXUtils является манипулирование именем bean. SimpleJMX использует атрибуты в аннотациях (domainName, beanName), которые очень полезны, но с JMXUtils вам нужно знать синтаксис для обозначения mbeans при использовании доменов mbean. В общем, неважно, но на мой вкус SimpleJMX имеет лучшее решение для этого.

Суть в том, что обе библиотеки великолепны и выполняют свою работу. Я решил использовать JMXUtils.

+0

Для записи SimpleJMX позволяет вам использовать сервер платформы mbean. – Gray

2

I cam accross org.weakref.jmxutils библиотека в commons-dbcp-jmx. Проверьте ManagedBasicDataSource.java для примера:

@Managed(description = "The current number of active connections that have been allocated from this data source.") 
public synchronized int getNumActive() { 
    return super.getNumActive(); 
} 

Я никогда не использовал эту библиотеку сам, но, кажется, работает.

+0

Спасибо Tomasz. Это очень полезно. Я дам ему попробовать и сравнить его с SimpleJMX. Кажется, что JMXUtils поддерживается одним человеком, но активен в github. Итак, по крайней мере, там есть альтернативы :-) – qupera

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