Встраиваемый JMX-клиент
В моем веб-приложении я хочу позволить некоторым конечным пользователям управлять специальными параметрами. Я хочу использовать JMX для этого. Хотя мое приложение работает на JBoss, я не хочу, чтобы конечные пользователи управляли специальными параметрами с помощью консоли JMX. Это не достаточно удобно для пользователя, и они уже представлены слишком многими mbeans.
Я сталкивался с JMinix или Jolokia, но если они универсальны и подходят для просмотра / управления MBean-компонентами JMX, они не удобны для пользователя.
Итак, знаете ли вы компонент, библиотеку или инфраструктуру, которые будут иметь следующие функции?
- Представьте MBeans в удобной для пользователя форме (т.е. не как консоль JMX в JBoss)
- Позвольте вам автоматически фильтровать некоторые MBeans
- Встраиваемый в существующее веб-приложение
Java 6
JSF 2
1 ответ
Разоблачение и доступ к MBeans - это две совершенно разные проблемы. После того, как вы правильно представили MBean-компоненты, пользователи смогут получить к ним доступ с другого компьютера, используя тот клиент, который им подходит. Этот клиент обычно не зависит от конкретной реализации сервера.
Подробная информация о том, как предоставить ваши MBeans для удаленного доступа, описана здесь: http://docs.oracle.com/javase/tutorial/jmx/remote/jconsole.html
Что касается того, какой клиент является наиболее удобным для пользователя, я, как правило, нашел, что JConsole очень прост в использовании. После удаленного подключения к коннектору JMX вашего приложения пользователю не нужно управлять какими-либо другими специальными параметрами, кроме аргументов, передаваемых вашим методам MBean. Если вашим пользователям нужен пользовательский интерфейс, вы можете подумать о создании своего собственного, следуя приведенным здесь документам: http://docs.oracle.com/javase/tutorial/jmx/remote/custom.html
Вы также можете найти документацию Oracle по теме " Мониторинг и управление с использованием технологии JMX".
Редактировать:
Перечитывая ваш вопрос - было бы полезно узнать, разрабатываете ли вы приложение, в котором есть открытые MBean-компоненты, и приложение, которое их потребляет. Если у вас есть MBeans, вы можете помочь пользователям, пытаясь разделить операции, которые принимают много параметров. Также подумайте, как вы группируете свои операции и является ли ваше соглашение об именах удобным для пользователя. Я думаю, что большинство доступных клиентов представят вам те же проблемы, если у вас есть большое количество MBean-компонентов в одной JVM.