2010-06-11 2 views
0

Из спецификации JMX MXBean, ява типа класса J должен удовлетворятьКак создать JMX MXBean совместимую модель Java-класса от JAXB?

Либо если J имеет, по меньшей мере, один открытый конструктор с аннотацией ConstructorProperties, Или если J имеет публичный конструктор без аргументов, и для каждого getter в J с типом T и именем N есть соответствующий сеттер с тем же именем и тип

Так как я могу использовать JAXB для создания модели класса JAVA, которая удовлетворяет ограничению MXBean?

Благодаря YU

ответ

0

JAXB удовлетворяет геттер/сеттер ограничение, не так ли? Или, скорее, xjc удовлетворяет его. Сам JAXB - это всего лишь основа. xjc используется для генерации кода Java из файла определения схемы XML.

Что касается аннотации: это, по-видимому, не требуется. JAXB всегда нужен конструктор no-arg для unmarshalling.

Если это не подходит вам, возможно, вы можете уточнить свой вопрос (при необходимости, при небольшом примере).

+0

Я использую плагин eclipse xjc для JAXB unmarshalling. Иногда xjc не всегда создает парные getter и setter, если один сгенерированный класс содержит элемент данных контейнера, такой как java.util.List. И он также не создает конструктор no-arg в моей стороне. Нужна ли дополнительная настройка JAXB? – yucubby

+0

Да, ты прав. Мне кажется, что предоставление setter для «List» нарушает спецификацию JAXB (см. «Замечание по дизайну» в 5.5.2.2 спецификации JAXB 2.0). Если вы согласны принять это, действительно возможно создать плагины для JAXB, которые изменяют сгенерированный исходный код. Изучите плагины JAXB2 Basics для некоторых примеров. Это также похоже на конкретную реализацию. – musiKk

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