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(); } }