2014-09-13 1 views
0

У меня есть веб-сервис JAX-RS, который был создан Netbeans. Существуют не абстрактные классы фасадов для конечных точек службы. Контекст персистентности вводится в не абстрактный абстрактный вид. Все работает хорошо, и я вижу, что мои данные возвращаются в Fiddler.JPA2, JAX-RS: @PersistentContext, Как получить EntityManager в конструкторе Facade?

Мы используем DTO, и я реализую шаблон ассемблера. Таким образом, в конструкторе не абстрактного фасада я создаю экземпляр ассемблера и передаю ему экземпляр менеджера объектов фасада. К сожалению, кажется, что инъекции контекста персистентности не произошло до того, как конструктор фасада был вызван, поэтому я не могу передать экземпляр менеджера объектов в ассемблер для его использования в операциях отображения. Вид ситуации с цыпленком до конца ... Я не могу понять, как сделать эту работу ... Есть ли какой-то постконструкторский метод, который я могу переопределить и выполнить инициализацию ассемблера и передать в менеджер организации? Я бы очень признателен за вашу помощь и предложения.

Спасибо за ваше время и идеи, Майк

ответ

0

Используйте метод обозначенного @PostConstruct аннотацию. Как это:

@PostConstruct 
private void init() { 
    // I'm called after all injections have been resolved 
    // initialize some object variables here 
    ... 
} 

В этом методе вы можете использовать оба поля объекта инициализируется в конструкторе и передается с помощью инъекции.

+0

Большое спасибо, газ! Он отлично работает! Мысль об использовании аннотации не приходила мне в голову. Классная вещь! :) –