Problème instantiation EJB managedBean
Bonjour,
Je suis débutant avec les EJB et j'utilise le projet CRUD générer automatique par netbeans. jusqu'ici tout ce passe bien. J'ai un scénario. Je veux créer un Utilisateur qui appartient à un Groupe.
1. Je sélectionne le groupe (parmi la liste des groupes existants).
2. J'introduis les infos de l'utilisateur puis je sauvegarde.
Voici la déclaration des managedbeans Groupe et Utilisateur.
Code:
1 2 3 4 5 6 7 8 9 10
|
ManagedBean(name = "utilisateurController")
@SessionScoped
public class UtilisateurController extends BaseController {
private Utilisateur current;
private DataModel items = null;
private InputStream stream = null;
@EJB
private com.netescape.jpa.facades.UtilisateurFacade ejbFacade; |
Code:
1 2 3 4 5 6
|
@ManagedBean(name = "groupeController")
@RequestScoped
public class GroupeController extends BaseController {
@EJB
private com.netescape.jpa.facades.GroupeFacade ejbFacade; |
la classe UtilisateurFacade est déclarée comme suit:
Code:
1 2 3 4 5 6
|
@Stateless
public class UtilisateurFacade extends AbstractFacade<Utilisateur> {
@PersistenceContext(unitName = "netescapeAppPU")
private EntityManager em; |
la classe mère AbstractFacade comme suit:
Code:
1 2 3 4 5 6 7
|
public abstract class AbstractFacade<T> {
private Class<T> entityClass;
public AbstractFacade(Class<T> entityClass) {
this.entityClass = entityClass;
}
protected abstract EntityManager getEntityManager(); |
voici le code qui pose problème.
Code:
1 2 3 4 5 6 7 8 9 10
|
public String addUtilisateur() {
UtilisateurController uc = new UtilisateurController();
for (BaseEntity entity : getSelected(getItems().iterator())) {
uc.getCurrent().setGroupe((Groupe) entity);
}
JsfUtil.addWarningMessage("Il y a déjà un Profil pour cet Utilisateur");
JsfUtil.setSessionController(UtilisateurController.getAttribute(), uc);
return "Utilisateur";
} |
je crée un managedbean UtilisateurController au qu'elle j'ajoute le groupe sélectionné. au moment de la création du managedbean toutes les valeurs sont correctement initialisées à l'exception de l'EJB qui est null.
Code:
1 2 3 4 5 6 7 8 9 10 11
|
public String create() {
try {
getFacade().create(current);
JsfUtil.addSuccessMessage(ResourceBundle.getBundle(PathLink.JSF_RESSOURCES).getString("UtilisateurCreated"));
return "List";
} catch (Exception e) {
JsfUtil.addErrorMessage(e, ResourceBundle.getBundle(PathLink.JSF_RESSOURCES).getString("PersistenceErrorOccured"));
return null;
}
} |
Quand je fais appel à l'EJB pour sauvegarder l'utilisateur la méthode getFacade() retourne null, donc je ne sais pas sauvegarder l'utilisateur créer. Quelqu'un peut il m'expliquer comment accéder correctement à mon EJB?