2012-06-21 3 views
2

Я добавляю некоторые инструменты в наше приложение Scala и столкнулся с проблемой: При использовании JMX в стандартном OO-способе, объявляющем MBean как свойство, и чтобы мой класс реализовал этот компонент, все работает отлично. Тем не менее, моя цель - попытаться просто присвоить класс классу в виде bean-компонента (MBean или MXBean) и не писать интерфейс. Причина этого заключается в том, что я хочу сказать что-то вродеScala JMX без черт

val foo = new Counter with JMX... 

где JMX является признаком, который регистрирует Foo как атрибут моего класса.

это возможно? валидатор JMX ищет класс с интерфейсом и жалуется, если я его не создаю, есть ли способ добавить его во время выполнения?

+0

Вы используете Spring? – sourcedelica

+0

@ericacm: no ... – Alex

ответ

0

Возможно иметь параллельные иерархии интерфейсов и классов JMX. Например. если у вас было несколько JMX MBeans с общими методами, вы могли бы иметь базовый интерфейс с общими абстрактными методами, а затем частичную реализацию, которую вы могли бы добавить в MBeans. Это решит вашу проблему? Я сделал это один раз, и это было только немного сложнее. Вам просто нужно жестко наблюдать соответствие имени в одном и том же правиле пакета.

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