IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java EE Discussion :

NullpointerException pas compréhensible


Sujet :

Java EE

  1. #1
    Membre confirmé Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Points : 466
    Points
    466
    Par défaut NullpointerException pas compréhensible
    Bonjour

    J'ai une fonction que j'ai eu à tester dans mon projet EJB et il fonctionne correctement.
    Mais une fois à l'intérieur du Controller dans mon projet WEB.j'ai une exception nullpointerException.
    Voici le code de la classe complete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    package scolarite;
     
    import dao.*;
     
    import java.util.Date;
    import javax.ejb.EJB;
    import javax.ejb.Stateless;
    import javax.ejb.LocalBean;
    import modele.*;
     
    /**
     *
     * @author fabrice
     */
    @Stateless
    public class InscriptionManager {
     
        @EJB
        private EtabformationDao etabformationDao;
     
        @EJB
        private CycleformationDao cycleformationDao;
     
        @EJB
        private CyclefiliereDao cyclefiliereDao;
     
        @EJB
        private NiveaufiliereDao niveaufiliereDao;
     
        @EJB
        private ClasseDao classeDao;
     
        private Etabformation etabformation;
        private Cycleformation cycleformation;
        private Cyclefiliere cycleFil;
        private Niveaufiliere nivFil;
        private Classe classe;
     
        public InscriptionManager() {
            etabformation=new Etabformation();
            cycleformation = new Cycleformation();
            cycleFil = new Cyclefiliere();
            nivFil = new Niveaufiliere();
            classe = new Classe();
        }
     
        public void generateClasse(Etablissements etab, Formation formation, Cycle cycle, Filiere filiere, Niveau niveau, int nombre) {
            nivFil = niveaufiliereDao.find(new NiveaufilierePK(formation.getId(), etab.getEtablissementsPK().getId(), etab.getEtablissementsPK().getAnneeCrs(), cycle.getId(), filiere.getId(), niveau.getId()));
            if (nivFil == null) {
                etabformation=addFormationToEtab(etab, formation);
    //            //joindre le cycle a la formation
                cycleformation = this.addCyclesToFormation(etabformation, cycle);
     
    //            //joindre la filiere  au cycle
                cycleFil = this.addFiliereToCycle(cycleformation, filiere);
    //            //joindre le niveau
                nivFil = this.addNiveauToFiliere(cycleFil, niveau);
    //
    //
            }
    //        //enregistrement de classes en fonction du nombre de salle ou classes com IG1A et IG1B
            for (int i = 1; i <= nombre; i++) {
                classe=new Classe();
                //provisoire il faut avoir la nomemclature des classes
                classe.setCode(filiere.getCode() + "" + niveau.getCode() + "-" + i);
                classe.setActif(Boolean.TRUE);
                classe.setNiveaufiliere(nivFil);
                classeDao.create(classe);
            }
     
        }
        public Etabformation addFormationToEtab(Etablissements etab,Formation formation){
             EtabformationPK etabFormationPk = new EtabformationPK(formation.getId(), etab.getEtablissementsPK().getId(),  etab.getEtablissementsPK().getAnneeCrs());
                etabformation = etabformationDao.find(etabFormationPk);
     
                //je vais joindre la formation  a l etab;
                if (etabformation == null) {
                    etabformation=new Etabformation();
                    etabformation.setEtabformationPK(etabFormationPk);
                    etabformation.setDateCreation(new Date());
                    etabformationDao.create(etabformation);
                }
                return etabformation;
     
        }
        public Cycleformation addCyclesToFormation(Etabformation etabForm, Cycle cycle) {
            CycleformationPK cycleFormationPk = new CycleformationPK(etabForm.getEtabformationPK().getFormation_id(), etabForm.getEtabformationPK().getEtab_id(), etabForm.getEtabformationPK().getAnnee_id(), cycle.getId());
     
            cycleformation = cycleformationDao.find(cycleFormationPk);
            if (cycleformation == null) {
                cycleformation=new Cycleformation();
                cycleformation.setCycleformationPK(cycleFormationPk);
     
                cycleformation.setDateCreation(new Date());
                cycleformationDao.create(cycleformation);
            }
            return cycleformation;
        }
     
        public Cyclefiliere addFiliereToCycle(Cycleformation cycleFormation, Filiere filiere) {
            CyclefilierePK cyclefilierePk = new CyclefilierePK(cycleFormation.getCycleformationPK().getFormation_id(),
                    cycleFormation.getCycleformationPK().getEtab_id(), cycleFormation.getCycleformationPK().getAnnee_id(), cycleFormation.getCycleformationPK().getCycle_id(), filiere.getId());
     
            cycleFil = cyclefiliereDao.find(cyclefilierePk);
            if (cycleFil == null) {
                cycleFil=new Cyclefiliere();
                cycleFil.setCyclefilierePK(cyclefilierePk);
                cycleFil.setDatecreation(new Date());
                cyclefiliereDao.create(cycleFil);
            }
            return cycleFil;
        }
     
        public Niveaufiliere addNiveauToFiliere(Cyclefiliere cycleFil, Niveau niv) {
            NiveaufilierePK niveauFilierePk = new NiveaufilierePK(cycleFil.getCyclefilierePK().getFormation_id(),
                    cycleFil.getCyclefilierePK().getEtab_id(), cycleFil.getCyclefilierePK().getAnnee_id(), cycleFil.getCyclefilierePK().getCycle_id(), cycleFil.getCyclefilierePK().getFiliere_id(), niv.getId());
     
            nivFil = niveaufiliereDao.find(niveauFilierePk);
            if (nivFil == null) {
                nivFil=new Niveaufiliere();
                nivFil.setNiveaufilierePK(niveauFilierePk);
                niveaufiliereDao.create(nivFil);
            }
            return nivFil;
        }
    }
    lors de l'execution de la fonction generateClasse sur la ligne etabformation=addFormationToEtab(etab, formation); etabformation est null

    voici la trace de l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    Avertissement: A system exception occurred during an invocation on EJB InscriptionManager method public void scolarite.InscriptionManager.generateClasse(modele.Etablissements,modele.Formation,modele.Cycle,modele.Filiere,modele.Niveau,int)
    javax.ejb.EJBException
    	at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5193)
    	at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5091)
    	at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4879)
    	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2039)
    	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1990)
    	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:222)
    	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
    	at $Proxy279.generateClasse(Unknown Source)
    	at scolarite.__EJB31_Generated__InscriptionManager__Intf____Bean__.generateClasse(Unknown Source)
    	at com.better.GenClasseController.genererClasses(GenClasseController.java:202)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:601)
    	at com.sun.el.parser.AstValue.invoke(AstValue.java:234)
    	at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
    	at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:43)
    	at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:56)
    	at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:153)
    	at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
    	at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769)
    	at javax.faces.component.UICommand.broadcast(UICommand.java:300)
    	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
    	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
    	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
    	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
    	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
    	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
    	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
    	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
    	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
    	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
    	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
    	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
    	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    	at java.lang.Thread.run(Thread.java:722)
    Caused by: java.lang.NullPointerException
    	at scolarite.InscriptionManager.addCyclesToFormation(InscriptionManager.java:87)
    	at scolarite.InscriptionManager.generateClasse(InscriptionManager.java:63)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:601)
    	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
    	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
    	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5366)
    	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:619)
    	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)
    	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:571)
    	at org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:46)
    	at sun.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:601)
    	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:861)
    	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)
    	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:571)
    	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:162)
    	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:144)
    	at sun.reflect.GeneratedMethodAccessor109.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:601)
    	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:861)
    	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800)
    	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:370)
    	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5338)
    	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5326)
    	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:214)
    	... 47 more
    Cordialement!!
    Ce qui ne me tue pas me rend plus fort.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Apparemment il y a une différence entre le numéro de ligne signalé dans l'erreur et celui du code posté, mais je pense que l'erreur vient de cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CycleformationPK cycleFormationPk = new CycleformationPK(etabForm.getEtabformationPK().getFormation_id(), etabForm.getEtabformationPK().getEtab_id(), etabForm.getEtabformationPK().getAnnee_id(), cycle.getId());
    Vérifie bien si etabForm, etabForm.getEtabformationPK() et cycle ne sont pas null.

    A+.

  3. #3
    Membre confirmé Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Points : 466
    Points
    466
    Par défaut
    oui en fait juste l'erreur se déclenche car
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cycleformation = this.addCyclesToFormation(etabformation, cycle);
    utilises etabformation qui est null. cycle n'est pas null.
    Et je dis bien cette méthode a été tester dans un container embedded Glassfish.mais dans le controller web il me renvoit cela.
    je ne sais pas s'il c'est un problème de container je ne saisis pas correctement ce qui se passe car j'ai mis les paramêtres de types Etablissement et formation

    voici un exemple de classe de test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
    package com.better.parametrage;
     
    //import dao.IPaysDao;
    import dao.*;
    import java.io.File;
    import java.util.Collection;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;
    import javax.ejb.embeddable.EJBContainer;
    import javax.naming.Context;
    import modele.*;
    import org.junit.*;
    import java.util.logging.*;
    import scolarite.InscriptionManager;
     
    public class PaysEJBTest {
     
        public static EJBContainer container;
        public static Context appContext;
     
        public Collection<Pays> p;
         //IPaysDao paystest;
        // ConfigInitialBean config;
         EtablissementsDao etabTest;
         PaysDao paystest;
         AnneeDao anneeTest;
         FiliereDao filiereTest;
         MinisteresDao ministeresTest;
         SectionDao section1Test;
         EtablissementGlobalDao etablissementGlobalTest;
         InscriptionManager inscriptionManager;
         FormationDao formationTest;
         CycleDao cycleTest;
         NiveauDao niveauTest;
     
         //ConfigInitialBean config;
     
        @BeforeClass
        //public static void setUpClass() throws Exception {
        public static void initContainer() throws Exception {
            Map<String, Object> props = new HashMap<String, Object>();
            //props.put(EJBContainer.APP_NAME, "matestejb");
            props.put(EJBContainer.MODULES, new File[]{new File("target/classes")});
            props.put("org.glassfish.ejb.embedded.glassfish.installation.root", "C:/Program Files/glassfish-3.1.1/glassfish");
     
            //props.put(EJBContainer.PROVIDER, "org.glassfish.ejb.embedded.EJBContainerProviderImpl");
            //props.put("org.glassfish.ejb.embedded.glassfish.configuration.file", "C:/Program Files/glassfish-3.1.1/glassfish/domains/domain1/config/domain.xml");
            container = EJBContainer.createEJBContainer(props);
            appContext = container.getContext();
        }
     
        @AfterClass
        //public static void tearDownClass() throws Exception {
        public static void closeContainer() throws Exception {
            appContext.close();
            container.close();
        }
     
        @Before
        public void setUp()throws Exception{
              formationTest=(FormationDao) appContext.lookup("java:global/classes/FormationDao");
           cycleTest=(CycleDao) appContext.lookup("java:global/classes/CycleDao");
           niveauTest=(NiveauDao) appContext.lookup("java:global/classes/NiveauDao");
     
              anneeTest=(AnneeDao) appContext.lookup("java:global/classes/AnneeDao");
              filiereTest=(FiliereDao) appContext.lookup("java:global/classes/FiliereDao");
       etablissementGlobalTest=(EtablissementGlobalDao) appContext.lookup("java:global/classes/EtablissementGlobalDao");
         etabTest=(EtablissementsDao) appContext.lookup("java:global/classes/EtablissementsDao");
         inscriptionManager=(InscriptionManager) appContext.lookup("java:global/classes/InscriptionManager");
     
        @Test
        public void generateClassesTest()
        {
             Etablissements etab=etabTest.find(new EtablissementsPK(new Long(4), new Integer(2011)));
             Formation formation=formationTest.find(new Long(1));
             Cycle cycle=cycleTest.find(new Long(1));
             Collection<Filiere> colFil=filiereTest.findAll();
             Niveau niv=niveauTest.find(new Long(1));
     
             for(Filiere filiere:colFil){
                 inscriptionManager.generateClasse(etab, formation, cycle, filiere,niv , 2);
             }
     
     
        }
    }
    Ce qui ne me tue pas me rend plus fort.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    etabFormation n'est pas null, mais vérifie si sa methode retourne bien un objet pas null ou bien c'est cycleformationDao qui est null.

  5. #5
    Membre confirmé Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Points : 466
    Points
    466
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    etabFormation n'est pas null, mais vérifie si sa methode retourne bien un objet pas null ou bien c'est cycleformationDao qui est null.
    c'est plutot etabformation est null et lors du debug j'arrive pas à entrer dans la methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    addFormationToEtab(etab, formation);
    les paramêtres etab et formation sont chargés.
    Il bug sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     cycleformation = this.addCyclesToFormation(etabformation, cycle);
    car cela ferait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cycleformation = this.addCyclesToFormation(null, cycle);
    Ce qui ne me tue pas me rend plus fort.

  6. #6
    Membre confirmé Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Points : 466
    Points
    466
    Par défaut
    hier je suis passé à Netbeans 7.2 qui intègre glassfish 3.1.2.2 et mon problème a été résolu

    j'ai modifié quelque peut la classe stateless et j'ai ajouté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    @Stateless
    @LocalBean
    @TransactionManagement(TransactionManagementType.CONTAINER)
    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public class InscriptionManager {
    avant c'etait juste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @Stateless
    public class InscriptionManager {
    Ce qui ne me tue pas me rend plus fort.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. NullPointerException pas de données
    Par maserati dans le forum JSF
    Réponses: 3
    Dernier message: 05/04/2012, 12h25
  2. java.lang.NullPointerException que je ne trouve pas
    Par Raiden1234 dans le forum Général Java
    Réponses: 6
    Dernier message: 29/11/2008, 10h33
  3. Un programme pas trop compréhensible
    Par killer75 dans le forum C++
    Réponses: 25
    Dernier message: 19/12/2006, 13h09
  4. Erreur pas compréhensible
    Par Sunseeker69 dans le forum Bases de données
    Réponses: 5
    Dernier message: 29/05/2006, 17h53
  5. [JPox] NullPointerException ou pas !
    Par MinsK dans le forum Persistance des données
    Réponses: 1
    Dernier message: 12/07/2005, 16h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo