Exception de pointeur Null alors que les EJB injection
J'ai écrit très simple d'application web avec un Ejb stateless, le moment intéressant est quand je l'implémenter l'interface ejb injection de dépendance ne fonctionne pas:
web.xml
<?xml version="1.0" ?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>simpleController</servlet-name>
<servlet-class>com.SimpleController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>simpleController</servlet-name>
<url-pattern>*.job</url-pattern>
</servlet-mapping>
</web-app>
Classe de Servlet
package com;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class SimpleController extends HttpServlet {
@EJB
private SimpleBean bean;
@Override
protected void doPost (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().println(bean.getSomeString());
}
@Override
protected void doGet (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
}
bean
package com;
import javax.ejb.Stateless;
@Stateless
public class SimpleBean /*implements Simple*/ {
public String getSomeString(){
return "axaxaxa!";
}
}
inteface
package com;
import javax.ejb.Remote;
//@Local
@Remote
public interface Simple {
String getSomeString();
}
Alors, quand je uncoment "met en œuvre Simple" j'ai eu NullPointerException (avec @Distance ou @Local d'annotation dans l'interface), un autre cas, je reçois "axaxaxa!". Pourquoi ça arrive? J'ai lu l'Ejb classe doit mettre en œuvre des intefaces.
- Je utiliser TommEEcas Serveur d'Application.
OriginalL'auteur Cherry | 2013-04-17
Vous devez vous connecter pour publier un commentaire.
Résout les problèmes en changeant de haricots type de variable (de type d'interface à la place de type de classe)
Version avec NullPointerException
Version de travail
OriginalL'auteur Cherry
Avant de résoudre un problème de trop, tout simplement essayez de redémarrer votre conteneur (c'est à dire GlassFish, JBoss, etc.).
OriginalL'auteur Philip Durbin