Bonjour
je fait un petit projet avec Jee 5 pour la première fois
avec l'ide Netbeans et Glassfish comme serveur
mon problème c'est que pendant le déploiement j'ai l'erreur suivante
et je comprend pas la cause
aidez moi

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
GRAVE: PWC2773: Exception loading sessions from persistent storage
java.lang.ClassCastException: cannot assign instance of com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate$SerializableLocalObjectDelegate to field mbean.connectionmb.cbl of type metier.ConnectionBeanLocal in instance of mbean.connectionmb
        at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2032)
        at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1212)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1953)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at org.apache.catalina.session.StandardSession.readRemainingObject(StandardSession.java:1818)
        at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1750)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at org.apache.catalina.session.StandardSession.deserialize(StandardSession.java:1063)
        at org.apache.catalina.session.StandardManager.readSessions(StandardManager.java:511)
        at org.apache.catalina.session.StandardManager.doLoadFromFile(StandardManager.java:441)
        at org.apache.catalina.session.StandardManager.load(StandardManager.java:411)
        at org.apache.catalina.session.StandardManager.start(StandardManager.java:854)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:5197)
        at com.sun.enterprise.web.WebModule.start(WebModule.java:499)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:928)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:912)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:694)
        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1933)
        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1605)
        at com.sun.enterprise.web.WebApplication.start(WebApplication.java:90)
        at org.glassfish.internal.data.EngineRef.start(EngineRef.java:126)
        at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:241)
        at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:236)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:339)
        at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:340)
        at com.sun.enterprise.v3.server.ApplicationLoaderService.postConstruct(ApplicationLoaderService.java:163)
        at com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:174)
        at com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:87)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:84)
        at com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)
        at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)
        at com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)
        at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)
        at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:236)
        at com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:128)
        at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:457)
        at com.sun.enterprise.module.bootstrap.Main.launch(Main.java:401)
        at org.jvnet.hk2.osgiadapter.HK2Main.start(HK2Main.java:125)
        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:640)
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)
        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:915)
        at org.jvnet.hk2.osgimain.Main.start(Main.java:140)
        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:640)
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:1700)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:1622)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1077)
        at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)
        at java.lang.Thread.run(Thread.java:619)
et voici les classes concerné

un Ejb stateful :

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
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
package metier;
 
import dao.EmployeBanqueFacadeLocal;
import dao.EmployeCommercantFacadeLocal;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateful;
import jpa.Utilisateur;
import dao.UtilisateurFacadeLocal;
import java.io.Serializable;
import javax.annotation.PreDestroy;
import javax.ejb.PrePassivate;
import jpa.EmployeCommercant;
 
/**
 *
 * @author seif
 */
@Stateful(name="ConnectionBeanSb")
public class ConnectionBean implements ConnectionBeanLocal {
 
 
    @EJB
    private UtilisateurFacadeLocal ufl;
    @EJB
    public EmployeCommercantFacadeLocal ecfl;
    @EJB
    public EmployeBanqueFacadeLocal ebfl;
  EmployeCommercant ec = new EmployeCommercant();
  Utilisateur uc = new Utilisateur();
 // private static final  long serialVersionUID =1L;
 
 
       //constructeur
       public ConnectionBean()
       {
 
           // ec.setIdemployeCommercant(1);
          //  System.out.println("["+ec.getIdemployeCommercant()+"]");
    //   uc=new Utilisateur();
       }
    public String connecter(String login,String pass)
    {
        List<Utilisateur> l = ufl.findByLogin(login);
         if(l.size()==1)
         {
             uc=l.get(0);
 
             if(uc.getType().equalsIgnoreCase("f"))
             {
 
 
              ec= ecfl.find(uc.getIdutilisateur());
              System.out.println("type1 : "+ec.getFkUtilisateur());
 
              System.out.println("type 2 :"+ec.getFkCommercant());
              System.out.println("type 3 :"+ec.getFkCommercant().getFkCommercantU());
              System.out.println("type 4 :"+ec.getFkCommercant().getFkCommercantU().getNomCom());
 
             }
 
             if(uc.getPass().equals(pass))
                 return(uc.getType());
             else return "wrongpass";
         }else
             return "wronglogin";
 
    }
   public Utilisateur getuc()
   {
       return uc;
   }
 
   public String getUnite()
   {
        System.out.println("type 2  u:"+ec.getFkCommercant());
              System.out.println("type 3  u:"+ec.getFkCommercant().getFkCommercantU());
              System.out.println("type 4  u:"+ec.getFkCommercant().getFkCommercantU().getNomCom());
       return ec.getFkCommercant().getFkCommercantU().getNomCom();
       //ec.getFkCommercant().getFkCommercantU().getNomCom();
   }
 
   public Integer getUniteC()
   {    System.out.println("type 1 c :"+ec);
        System.out.println("type 2 c :"+ec.getFkCommercant());
              System.out.println("type 3 c :"+ec.getFkCommercant().getFkCommercantU());
              System.out.println("type 4  c :"+ec.getFkCommercant().getFkCommercantU().getNomCom());
       return ec.getFkCommercant().getIduniteCommercant();
   }
 
    @PrePassivate
   public void prePassivate()
   {
       System.out.println("---*---*-*-*-*-passivation");
   }
     @PreDestroy
   public void preDestroy()
   {
       System.out.println("---*---*-*-*-*-destruction");
   }
   // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")
 
}
et un manged bean :

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
 
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
package mbean;
 
import java.io.Serializable;
import javax.ejb.EJB;
import jpa.Utilisateur;
import metier.ConnectionBean;
import metier.ConnectionBeanLocal;
 
 
/**
 *
 * @author seif
 */
public class connectionmb implements Serializable {
     @EJB(name="ConnectionBeanSb")
     ConnectionBeanLocal cbl ;
     public String nom;
     public String prenom;
     public String pass ;
     public String login;
 
 
     public String nomunite;
     public Utilisateur ut;
     public String nomu ;
    /** Creates a new instance of connectionmb */
     public void connectionmb()
     {
 
     }
 
    public String connection() {
 
        String result= cbl.connecter(pass,login);
        if(!(result.equals("wrongpass")&&result.equals("wronglogin")))
        {   ut=cbl.getuc();
            nom =cbl.getuc().getNom();
            prenom=cbl.getuc().getPrenom();
 
 
 
 
 
        }
        return result;
    }
 
 
    public String getpass()
    {   
        return pass ;
 
    }
    public void setpass(String p)
    {
        pass=p;
    }
    public String getlogin()
    {
        return login;
 
    }
    public void setlogin(String l)
    {
        login = l;
    }
      public String getnom()
    {
        return nom;
 
    }
    public void setnom(String n)
    {
        nom = n;
    }
      public String getprenom()
    {
        return prenom;
 
    }
    public void setprenom(String p)
    {
        prenom = p;
    }
      public String getNomunite() {
        return cbl.getUnite();
    }
 
    public void setNomunite(String nomunite) {
        this.nomunite = nomunite;
    }
}