2009-08-13 5 views
0

Nous utilisons JDeveloper 11g. À la fois un projet Model et ViewController qui utilise la fusion ADF et ce n'est pas le cas.Appel @EJB de JSF Managed Bean

Mon Web-XML a une référence EJB pour un EJB de session avec état. J'ai un bean géré déclaré dans faces-config. J'essaie d'accéder à un EJB depuis l'intérieur du bean géré.

Je déclare

@EJB (name ="LocationServicesEJB") 
private LocationServicesEJB locationServices; 

En accédant à ce dans un procédé, les locationServices est nulle. Je ne vois aucun problème de type JNDI dans la console, alors j'imagine que cela ne dérange même pas de chercher. Dois-je activer l'injection ou autre chose? Ou ai-je besoin de définir 'locationServices' comme propriété gérée dans ma faces-config?

Veuillez nous aviser. Thanx

Répondre

1

Vous confondez deux types d'injection différents.

  1. Il y a une injection d'EJB qui se produit entre les EJB par l'annotation respective. Ce type est géré par le conteneur EJB (votre serveur d'applications ou OpenEJB e.t.c)

  2. Ensuite, il y a injection « normale » (ala printemps) qui se produit entre les haricots normaux Java et est défini dans les faces-config. Ce type est géré par JSF.

Décidez donc de ce que vous voulez faire.

Ma proposition serait de télécharger le official Java EE tutorial et parcourir tous les sujets.

+0

Merci et merci de ne répondre que maintenant. Mais oui, vous avez raison. Je vais considérer le tutoriel ... c'est le truc adf qui me tue – guyumu

+0

Le lien dans cette réponse est maintenant cassé, est-il possible pour vous de le réviser? –

+0

Lien mis à jour pour Oracle URL – kazanaki

Questions connexes