J'ai lutté pour cela pendant un moment maintenant. J'essaie de préparer EJB 3.0. J'utilise JBoss 5.1.0 GA comme serveur d'application. J'ai commencé avec un bean de session sans état très simple avec une interface locale et un simple client jsp-servlet qui appelle la méthode du bean session. Tout cela pendant que j'essayais d'utiliser l'annotation @EJB
pour injecter le bean session dans la classe de servlet.@EJB dans JBoss 5.1.0 GA?
public class SampleServlet extends HttpServlet {
@EJB
private PersonLocal person;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("In servlet");
response.getWriter().write("Person Name : "+person.getName());
System.out.println(person.getName());
}
}
J'utilise JBoss 5.1.0 GA avec la configuration par défaut . (J'ai également essayé avec toute la configuration)
Cependant, j'avais l'habitude d'obtenir une référence nulle à l'injection de bean session. Après avoir lutté pendant un jour ou deux, j'ai finalement essayé la moche méthode de recherche EJB 2.x JNDI au lieu de @EJB
annotation avec la configuration pour jndi spécifié dans le fichier jndi.properties
et cela a fonctionné sans aucun autre changement!
Maintenant, j'ai essayé de trouver dans les documents de JBoss si JBoss 5.1.0 GA supportait ou non l'injection avec l'annotation @EJB
, mais n'a pas trouvé de réponse concrète. Alors quelqu'un peut-il me dire si c'est le cas? parce que je préférerais vraiment l'annotation sur la recherche JNDI (je veux dire, qui ne le fera pas?). Est-ce que je manque quelque chose ..?
Probablement aurait dû mettre cela dans les forums JBoss, mais .. Je suis accro à cet endroit ;-)
Quelle configuration de serveur JBoss utilisez-vous? 'all',' default', 'minimal', etc. – skaffman
En outre, s'il vous plaît nous montrer du code, par exemple. le servlet – skaffman
a ajouté le code et la configuration du serveur à la question. :) – Nikhil