2016-01-18 2 views
-3

Je travaille sur une application web java ee. Tout fonctionnait bien jusqu'à ce que j'utilise JPA dans mon EJB. J'ai cherché toute la journée mais je n'ai pas où. ici est mon EJBjava.lang.NullPointerException lors du déploiement de Java EE sur Glassfish 4.1.1

Stateless(name = "SignupEJB") 

public class SignupBean { 
    @PersistenceContext (unitName = "mypersistenceUnit") 
    EntityManager em; 
    UsersEntity user=new UsersEntity(); 
    CountriesEntity countriesName=new CountriesEntity(); 
    public SignupBean() { 
    } 

    public List<String> getCountries(){ 
     List<String> countries=new ArrayList<String>(); 
     String[] tmp=new String[9]; 
     int i=0; 
     for(;i<tmp.length;i++){ 
      tmp[i]=countriesName.getName(); 
     } 
     countries= Arrays.asList(tmp); 
     return countries; 
    } 
    public void setValues(String fname,String lname, String email, String pass, 
          String country, String phno, String altmail) { 
     user.setId(user.getId()+1); 
     user.setfName(fname); 
     user.setlName(lname); 
     user.setEmail(email); 
     user.setPassme(pass); 
     user.setCountry(country); 
     user.setPhNo(phno); 
     user.setAltMail(altmail); 
     em.persist(user); 

    } 

} 

ici est persistence.xml

<?xml version="1.0" encoding="UTF-8"?> 
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" version="2.1"> 

    <persistence-unit name="mypersistenceUnit"> 
     <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 

     <class>com.persistence.UsersEntity</class> 
     <class>com.persistence.CountriesEntity</class> 
     <properties> 
      <property name="eclipselink.jdbc.url" value="jdbc:mysql://localhost:3306/Project22"/> 
      <property name="eclipselink.jdbc.driver" value="com.mysql.jdbc.Driver"/> 
      <property name="eclipselink.jdbc.user"/> 
      <property name="eclipselink.jdbc.password"/> 
     </properties> 
    </persistence-unit> 
</persistence> 

Im en utilisant

  • Intellij idée 15.02
  • Glassfish Sever 4.1.1
  • JPA 2.1
  • J Dk 1,8

est ici journal du serveur

java.lang.NullPointerException 
    at java.util.Hashtable.put(Hashtable.java:459) 
    at com.sun.enterprise.deployment.PersistenceUnitDescriptor.addProperty(PersistenceUnitDescriptor.java:187) 
    at com.sun.enterprise.deployment.node.PersistenceUnitNode.startElement(PersistenceUnitNode.java:90) 
    at com.sun.enterprise.deployment.node.SaxParserHandler.startElement(SaxParserHandler.java:502) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182) 
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:357) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2787) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) 
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:118) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) 
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643) 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327) 
    at com.sun.enterprise.deployment.io.DeploymentDescriptorFile.read(DeploymentDescriptorFile.java:318) 
    at com.sun.enterprise.deployment.archivist.ExtensionsArchivist.open(ExtensionsArchivist.java:179) 
    at com.sun.enterprise.deployment.archivist.PersistenceArchivist.readPersistenceDeploymentDescriptor(PersistenceArchivist.java:143) 
    at com.sun.enterprise.deployment.archivist.WarPersistenceArchivist.open(WarPersistenceArchivist.java:93) 
    at com.sun.enterprise.deployment.archivist.Archivist.readRestDeploymentDescriptors(Archivist.java:405) 
    at com.sun.enterprise.deployment.archivist.Archivist.readDeploymentDescriptors(Archivist.java:396) 
    at com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:271) 
    at com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:280) 
    at com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:241) 
    at com.sun.enterprise.deployment.archivist.ApplicationFactory.openArchive(ApplicationFactory.java:161) 
    at org.glassfish.javaee.core.deployment.DolProvider.processDOL(DolProvider.java:203) 
    at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:227) 
    at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:96) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:881) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:821) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:377) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219) 
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:539) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:535) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:360) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:534) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:565) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:557) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:360) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:556) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1464) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:109) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1846) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1722) 
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534) 
    at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224) 
    at org.glassfish.grizzly.http.server.StaticHttpHandlerBase.service(StaticHttpHandlerBase.java:189) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) 
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206) 
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180) 
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) 
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111) 
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) 
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536) 
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) 
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591) 
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571) 
    at java.lang.Thread.run(Thread.java:745) 
]] 
+0

Veuillez fournir la trace de la pile de l'erreur que vous voyez dans les journaux IntelliJ. –

+0

S'il vous plaît poster votre message d'erreur/entrée de journal pour l'exception null pointeur – JFPicard

+0

Post une trace de la pile – mikeb

Répondre

1

Je pense que vous ne devez pas utiliser les haricots EJB de cette façon. Container créera un nombre illimité de beans SignupBean pour vous. Chaque fois que vous invoquez SignupBean, vous pouvez en obtenir une autre. Retirez ce code:

UsersEntity user=new UsersEntity(); 
CountriesEntity countriesName=new CountriesEntity(); 

Aussi, ne générer id comme ceci:

user.setId(user.getId()+1); 

Set à être auto-incrémentation. Définition de la génération automatique des ID: http://www.objectdb.com/java/jpa/entity/generated

+0

okay bonne suggestion! mais que faire avec l'exception? – user137124

+0

Par l'exception il me semble que quelque chose avec persistence.xml est faux ... EDIT: peut-être essayer d'ajouter le type de transaction à l'unité de persistance – JuricaCuric

+0

ce qu'il peut être? – user137124