Micro Tip #2 : @PostConstruct VS @Create en Seam/EJB

Publié le par stoi

Pour ce deuxième micro tip, je vais vous parler de la différence entre @PostConstruct et @Create dans un environnement Seam/EJB.

@PostConstruct est une annotation EJB3 qui indique que la méthode annotée sera invoquée après les injections de dépendances mais avant tout le reste.

@Create est une annotation Seam qui a le même comportement que @PostConstruct..
Du moins, à première vue !

En effet, dans un bean qui est à la fois EJB (@Stateless ou @Stateful) et Seam (@Name) l'ordre des injections est le suivant : d'abord les injections EJB, et ensuite, seulement, les injections Seam.

Du coup, si vous mettez sur ce bean un @PostConstruct, les injections Seam (@In mais aussi @Log) ne seront pas encore faites !

Moralité : dans un environnement Seam/Ejb, à moins d'une raison très particulière, préferez toujours @Create à @PostConstruct.



tags : Java EE, Seam, EJB3, MicroTips

Publié dans Java

Pour être informé des derniers articles, inscrivez vous :

Commenter cet article