Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Инекция бина в EntityListeners / 7 сообщений из 7, страница 1 из 1
10.04.2013, 14:37:44
    #38220418
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инекция бина в EntityListeners
GlassFish 3.1 + Derby 10 + org.eclipse.persistence.jpa.PersistenceProvider

что хочу сделать : систему логирования любых изменений бина при записе его в БД .

Есть бизнес бин Message

Так вот MessageLogFacade logFacade = null и почему то не инициируется в классе MessageHistory !? вопрос почему?

Код: java
1.
2.
3.
4.
5.
6.
@Entity
@EntityListeners({MessageHistory.class})
@Table(name = "MESSAGE")
@XmlRootElement
@NamedQueries({
 public class Message implements Serializable {



есть
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public class MessageHistory{
  @Inject
   private MessageLogFacade logFacade;
   
   private MessageLog messageLog;
    
    @PostPersist
    @PostUpdate
    public void prePersist(Message message) {
       
        messageLog = new MessageLog(message);
        logFacade.create(messageLog);
        
    }
}




Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
@Stateless
public class MessageLogFacade extends AbstractFacade<MessageLog> {
    @PersistenceContext(unitName = "WebPU")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public MessageLogFacade () {
        super(MessageLog.class);
    }
    
}
...
Рейтинг: 0 / 0
10.04.2013, 14:43:09
    #38220434
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инекция бина в EntityListeners
Поверхностное гугление сообщает что GF 3.1 реализует спеку JPA 2.0, в которой CDI в EntityListeners не предусмотрен.
...
Рейтинг: 0 / 0
10.04.2013, 15:39:33
    #38220554
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инекция бина в EntityListeners
Да , вы правы , нужно ждать JPA 2.1

а пока пользоваться по старинке :

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
   public static BeanManager getMessageLogFacade() {
        try {
            InitialContext initialContext = new InitialContext();
            return (MessageLogFacade) initialContext.lookup("java:comp/MessageLogFacade");
        } catch (NamingException e) {
            e.printStackTrace();
            return null;
        }
    }
...
Рейтинг: 0 / 0
10.04.2013, 15:43:08
    #38220567
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инекция бина в EntityListeners
Вот такой вот хваленый JEE CDI. Мвухаха в лицо всем тем кто пишет "Spring IoC больше не нужен, ведь у нас есть CDI".
...
Рейтинг: 0 / 0
11.04.2013, 01:21:10
    #38221149
marx_freedom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инекция бина в EntityListeners
Blazkowicz,

да там кажется и ee8 спринг не догонит :)
...
Рейтинг: 0 / 0
11.04.2013, 09:21:34
    #38221263
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инекция бина в EntityListeners
Последнее время мне все же спецификация jee CDI в связке jsp+srvlet+ejb3.1 lite + orm нравится больше чем Spring IoC с его набором библиотек и кучей зависимостей и кучей xml файлов .

Удобно когда выбираешь jboos 7 или GlassFish 3.1 и больше ни каких дополнительных библиотек тебе уже и не надо

размер war прилоежения 10 мб ... в противовес Spring где все те же 10 мб + куча библиотек размером в 120 и более Мб.


И пусть пока Spring немного пошустрее чем EJB ,
но эта разница уже не в 10 раз как раньше , а примерно 1.5 , там где спринг дает 10мс, EJB - 15 мс.

что уже радует ... так же плюсом EJB - я считаю стройность с которой можно выстроить приложение.
...
Рейтинг: 0 / 0
11.04.2013, 21:15:34
    #38222699
WGA
WGA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инекция бина в EntityListeners
BlazkowiczВот такой вот хваленый JEE CDI. Мвухаха в лицо всем тем кто пишет "Spring IoC больше не нужен, ведь у нас есть CDI".А Spring такое умеет?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Инекция бина в EntityListeners / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]