Servlet and EJB3 nullPointerException
devis76 Mar 18, 2008 8:22 AMHi,
i'm new here and with Jboss Seam hi to all.
I'm using jboss 2.1.0.A1 with Flex 3 and all
work fine, but i have develope a simple servlet that runs inside my jboss seam application and call my UserAction ejb.
but i receive always a NullPointerException.
Pls can you help me how i can use my UserAction inside a Servlet?
Sorry if is it a studip question, but it's 3 days that i'm trying to resolve this.
I have also used
EntityManagerFactory factory = (EntityManagerFactory) Naming.getInitialContext().lookup("java:/FlexThorEntityManagerFactory");
em = factory.createEntityManager();
my findByCode funcition works fine.. but merge function don't throw anything but don't save anything.
Pls guys have you some suggestions?
Thank in advance
Devis
@Stateful
@Startup
@Name("useraction")
//@Restrict("#{identity.loggedIn}")
@Scope(ScopeType.APPLICATION)
public class UserAction implements IUser{
@In
private EntityManager em;
@Logger
private Log log;
@In
private FacesMessages facesMessages;
public UserAction(){
System.out.println("Create ");
// EntityManagerFactory factory = (EntityManagerFactory) Naming.getInitialContext().lookup("java:/FlexThorEntityManagerFactory");
// em = factory.createEntityManager();
}
public CUser merge(CUser vo) {
vo=em.merge(vo);
System.out.println("-------------- Salvato "+vo.getCdcusr()+" "+vo.getDscusr()+" "+vo.getSteusr());
return vo;
}
public void delete(CUser vo) {
if((vo=findByCode(vo.getCdcusr()))!=null)
em.remove(vo);
}
public ArrayList<CUser> findAll() {
return (ArrayList<CUser>) em.createQuery("select h from CUser h ").getResultList();
}
public CUser findByCode(String _code)
{
try{
CUser us=(CUser) em.createQuery("select h from CUser h where h._cdcusr='devis' ").getResultList().get(0);
System.out.println("-------------- "+us.getDscusr());
return us;
}
catch(Exception e){
e.printStackTrace();
return null;
}
}
public ArrayList<CUser> findBy(String _txt) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Destroy @Remove
public void destroy() {}
}
My web.xml
<!-- PBX Server --> <servlet> <servlet-name>FlexPbx</servlet-name> <servlet-class>org.pbx.StartPbx</servlet-class> <load-on-startup>3</load-on-startup> </servlet> <servlet-mapping> <servlet-name>FlexPbx</servlet-name> <url-pattern>/servlet</url-pattern> </servlet-mapping>
My Component.xml
<web:context-filter url-pattern="/servlet/*" />
My Servlet
public class StartPbx extends HttpServlet {
public void init() throws ServletException {
try {
String initial = getInitParameter("server_pbx");
System.out.println("????????????? "+initial);
/* try {
count = Integer.parseInt(initial);
}
catch (NumberFormatException e) {
count = 0;
}*/
UserAction action =new UserAction();
CUser vo =action.findByCode("devis");
//PbxTrace trace = new PbxTrace();
//trace.run();
} catch (Exception ex) {
ex.printStackTrace();
}
}