Собственная фабрика объектов JAXB не используется при демаршаллинге - PullRequest
2 голосов
/ 15 марта 2012

Изображение у вас есть автоматически сгенерированные bean-компоненты, и вы хотите расширить их с помощью некоторой дополнительной функциональности.Таким образом, вы расширяете автоматически сгенерированные bean-компоненты и в том же файле вы также расширяете ObjectFactory и аннотируете его с помощью @XmlRegistry.

. При отмене вызова какого-либо объекта расширенный ObjectFactory не используется и, следовательно, автоматическисгенерированные бины созданы.

Какой шаг мне не хватает, чтобы создать мои пользовательские бины?Могу я сказать JAXB, какую фабрику использовать?Или JAXB вообще не использует фабрику?

1 Ответ

3 голосов
/ 15 марта 2012

Да, вам нужно указать ObjectFactory при настройке вашего Unmarshaller. Я думаю, что вы можете использовать что-то вроде этого, чтобы обеспечить собственную реализацию ObjectFactory:

unmarshaller.setProperty("com.sun.xml.bind.ObjectFactory",new MyObjectFactory());
...