bonjour, je developpe une appli en jsf j'utilise netbean et glasfish
j'ai une entity
candidate
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
 
/*
 
package be.isl.interim.entity;
 
import java.io.Serializable;
import java.util.*;
import javax.persistence.*;
 
 
/**
 * classe représentant un candidat.
 * un candidat possède une liste d'expériences triées par fonction,
 * et une liste de formation triées par description. On effectuera
 * un chargement automatique étant donné que pour un candidat, les
 * données à charger ne sont pas en général beaucoup.
 * 
 * @see experience
 * @see education
 */
 
@Entity
public class candidate implements Comparable, Serializable {
 
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    private Long candidateid;
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "ciid")
    private contact_info contact_info = new contact_info();
    @Column(length = 50)//peut on mettre nulable = false?????
    private String lastname;
    @Column(length = 50)//idem
    private String firstname;
    private Float rate;
    @OneToMany(cascade = CascadeType.REMOVE)
    @OrderBy("function ASC")
    //suppression de exp à la suppression de l'étudiant
    private List<experience> experiences;
    @OneToMany(cascade = CascadeType.REMOVE)
    @OrderBy("description ASC")
    private List<education> educations;
 
    // c'tors ...
 
    //fonction de comparaison
 
    public int compareTo(Object o) {
        String key = this.description + this.description + this.eduid;
        String key2 = ((education) o).getDescription() + ((education) o).getLevel() + ((education) o).getEduid();
        return key.compareTo(key2);
    }
}
, une classe education
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
 
//....
 
import java.io.Serializable;
import java.util.*;
import javax.persistence.*;
 
/**
 * classe représentant la formation d'un candidat. Plusieurs formations pouvant
 * être liées à un candiadt.
 
 * @see candidate
 */
@Entity
public class education implements Comparable, Serializable {
 
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    private Long eduid;
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "candidateid")
    private candidate candiadte = new candidate();
    @Temporal(TemporalType.DATE)
    private Date from_;
    @Temporal(TemporalType.DATE)
    private Date to_;
    @Column(length = 50)
    private String school;
    @Column(length = 50)
    private String level_;
    @Column(length = 50)
    private String description;
 
// c'tors.. .
 
//getters ans setters....
 
//fonction de comparaison
    public int compareTo(Object o) {
        String key = this.description + this.description + this.eduid;
        String key2 = ((education) o).getDescription() + ((education) o).getLevel() + ((education) o).getEduid();
        return key.compareTo(key2);
    }
}
une classe experience
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
 
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package be.isl.interim.entity;
 
import java.io.Serializable;
import java.util.*;
import javax.persistence.*;
 
//import java.lang.Object;
 
 
/**
 * classe représentant l'expérience d'un candidat. Plusieurs expériences pouvant
 * être liées à un candiadt.
 * 
 *
 * @see candidate
 */
@Entity
public class experience implements Serializable, Comparable {
 
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    private Long expid;
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "canidateid")
    private candidate candiadte = new candidate();
    @Temporal(TemporalType.DATE)
    @Column(nullable = false)
    private Date from_;
    @Temporal(TemporalType.DATE)
    @Column(nullable = false)
    private Date to_;
    @Column(nullable = false, length = 50)
    private String function_;
    @Column(length = 50)
    private String employer;
    @Column(nullable = false, length = 50)
    private String description;
 
    //c'tors
 
    //getters ans setters...
 
    //fonction de comparaison    
    public int compareTo(Object o) {
        String key = this.function_ + this.from_ + this.to_ + this.expid;
        String key2 = ((experience) o).getFunction_() + ((experience) o).from_ + ((experience) o).getTo_() + ((experience) o).getExpid();
        return (key.compareTo(key2));
    }   
}
coté staless
j'ai la classe candidateBean
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
 
 
//...;
 
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
 
import be.isl.interim.entity.candidate;
import be.isl.interim.entity.education;
import be.isl.interim.entity.experience;
import java.util.List;
 
/**
 * Classe implementant toutes les méthodes metiers relatives au candidat
 * Dans cette classe on utiulise l'entity manager pour les opérations de CRUD
 * sur les entity candidate, eduaction et expérience
 *
 */
@Stateless
public class candidateBean implements candidateLocal, candidateRemote {
 
    @PersistenceContext(unitName = "interimPU")
    private EntityManager em;
 
    //methodes pour candidate
    public candidate createCandidate(candidate candidate) {
        em.persist(candidate);//objet persisté en base de données
        return candidate;
    }
 
    public void deleteCandidate(candidate candidate) {
        em.remove(em.merge(candidate));
    }
 
    public candidate findCandidate(Long candidateid) {
        //recherche de l'objet à partir de son identifiant
        candidate candidate = em.find(candidate.class, candidateid);
        return candidate;
    }
 
    //*******************************************************
    // Méthode de recherche principale de candidats. Avec le parametre, on crée
    // la requete HQL qui permettra de rechercher les candidats correspondants
    // aux critères de l'utilisateur
    //********************************************************
    public List<candidate> searchCandidate(candidate candidate) {
        Query query;
        List<candidate> candidates;
 
        String sWhere = "";
        if (candidate != null) {
            if (!candidate.getFirstname().equals("")) {
                if (sWhere.equals("")) {
                    sWhere = " where c.firtstname like '%" + candidate.getFirstname() + "%'";
                } else {
                    sWhere = sWhere + " and c.firtstname like '%" + candidate.getFirstname() + "%'";
                }
            }
            if (!candidate.getLastname().equals("")) {
                if (sWhere.equals("")) {
                    sWhere = " where c.lastname like '%" + candidate.getLastname() + "%'";
                } else {
                    sWhere = sWhere + " and c.lastname like '%" + candidate.getLastname() + "%'";
                }
            }
            if (candidate.getRate() != 0) {
                if (sWhere.equals("")) {
                    sWhere = " where c.rate like = " + candidate.getLastname() + " ";
                } else {
                    sWhere = sWhere + " and c.rate like '%" + candidate.getRate() + " ";
                }
            }
        }
        query = em.createQuery("SELECT c FROM candidate c " + sWhere + "ORDER BY c.lastname" + "ORDER BY e.firstname");
        candidates = query.getResultList();
 
        return candidates;
    }
 
    public List<candidate> searchEducation(candidate candidate) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
 
    public List<candidate> searchExperience(candidate candidate) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
 
    public candidate updateCandidate(candidate candidate) {
        em.merge(candidate);
        return candidate;
    }
 
    //methodes pour education
 
    public education createEducation(education education, candidate candidate) {
        em.persist(candidate);// est ce necessaire?
        education.setCandiadte(candidate);
        em.persist(education);
        return education;
    }
 
    public void deleteEducation(education education) {
        em.remove(em.merge(education));
    }
 
    public education findEducation(Long eduid) {
        education education = em.find(education.class, eduid);
        return education;
    }
 
    public List<education> searchEducation(education education) {
        Query query;
        List<education> educations;
        String sWhere = "";
 
        if (education != null) {
            if (education.getFrom_() != null) {
                if (sWhere.equals("")) {
                    sWhere = "where e.from_ = " + education.getFrom_();
                } else {
                    sWhere = sWhere + "and e.from_ = " + education.getFrom_();
                }
            }
            if (education.getTo_() != null) {
                if (sWhere.equals("")) {
                    sWhere = "where e.to_= " + education.getTo_();
                } else {
                    sWhere = sWhere + "and e.to_ = " + education.getTo_();
                }
            }
            if (!education.getDescription().equals("")) {
                if (sWhere.equals("")) {
                    sWhere = " where e.description like '%" + education.getDescription() + "%'";
                } else {
                    sWhere = sWhere + " and e.description like '%" + education.getDescription() + "%'";
                }
            }
            if (!education.getLevel().equals("")) {
                if (sWhere.equals("")) {
                    sWhere = " where e.level like '%" + education.getLevel() + "%'";
                } else {
                    sWhere = sWhere + " and e.level like '%" + education.getLevel() + "%'";
                }
            }
            if (!education.getSchool().equals("")) {
                if (sWhere.equals("")) {
                    sWhere = " where e.school like '%" + education.getSchool() + "%'";
                } else {
                    sWhere = sWhere + " and e.school like '%" + education.getSchool() + "%'";
                }
            }
        }
        query = em.createQuery("SELECT e FROM education e JOIN e.candidate c" + sWhere);
        educations = query.getResultList();
        return educations;
    }
 
    public education updateEducation(education education, candidate candidate) {
        education.setCandiadte(candidate);//rattacher 1 candidate à la formation
        em.merge(education);
        return education;
    }
 
    // methodes pour l'expérience  idem que pour education
mon ficheir facesconfig
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
 
<?xml version='1.0' encoding='UTF-8'?>
 
<!-- =========== FULL CONFIGURATION FILE ================================== -->
 
<faces-config version="1.2" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
    <application>
        <resource-bundle>
            <base-name>be.isl.interim.jsf.messages</base-name>
            <var>msgs</var>
        </resource-bundle>
    </application>
 
    <managed-bean>
        <managed-bean-name>candidate</managed-bean-name>
        <managed-bean-class>be.isl.interim.jsf.candidateController</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    <managed-bean>
 
</faces-config>
le controller qui traite les canidats avec leurs formation et expérience
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
 
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package be.isl.interim.jsf;
 
import javax.ejb.EJB;
import be.isl.interim.dao.candidateLocal;
import be.isl.interim.entity.*;
import java.util.*;
import javax.faces.context.FacesContext;
 
/**
 * Managed bean permettant de faire des action concernant le candidat.
 * Permet de faire un lien entre la page candidate.jsp et candidateBean
 * qui lui manipules les données de l'entity
 * @author Denis
 */
public class candidateController {
 
    //donnée qui seront manipulées par candidate.jsp
    @EJB
    private candidateLocal candidateBean;
    private candidate candidateRech = new candidate();
    private education educationRech = new education();
    private experience experienceRech = new experience();
    private List<candidate> candidates;
    private candidate candidateDetail;
    private experience experienceDetail;
    private education educationDetail;
    private List<education> educations;
    private List<experience> experiences;
    private Map educationsLB;
 
    //methode de recherche d'un candiadat en fonction de son id
    public void doFindCandidate() {
        candidateDetail = candidateBean.findCandidate(getParamId("candidateid"));
    }
 
    //methode de recherche d'une experience en fonction de son id
    public void doFindExperience() {
        experienceDetail = candidateBean.findExperience(getParamId("expid"));
    }
 
    //methode de recherche d'une formation en fonction de son id
    public void doFindEducation() {
        educationDetail = candidateBean.findEducation(getParamId("eduid"));
    }
 
    //methode de recherche de candidats
    public void doFindCandidates() {
        candidates = candidateBean.searchCandidate(candidateRech);
    }
 
    //methode de recherche d'expériences
    public void doFindExperiences() {
        experiences = candidateBean.searchExperience(experienceRech);
    }
 
    //methode de recherche de formations
    public void doFindEducations() {
        educations = candidateBean.searchEducation(educationRech);
    }
 
    public void doSaveCandidate() {
        candidateBean.updateCandidate(candidateDetail);
    }
 
    public void doSaveExperience() {
        candidateBean.updateExperience(experienceDetail, candidateDetail);
    }
 
    public void doSaveEducation() {
        candidateBean.updateEducation(educationDetail, candidateDetail);
    }
 
    // Getters et Setters ...
 
    /**
     * @return the parmeter set in jsp file
     */
    public Long getParamId(String sParam) {
        FacesContext context = FacesContext.getCurrentInstance();
        Map<String, String> map = context.getExternalContext().getRequestParameterMap();
        String result = map.get(sParam);
        return Long.valueOf(result);
    }
}
et mon jsp candidate.jsp
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
 
<%-- 
   .....
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
 
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<f:view>
    <html>
        <head>
            <link href="style.css" rel="stylesheet" type="text/css">
            <title><title>
                    <h:outputText value="#{msgs.windowCandidateTitle}" />
            </title></title>
        </head>
        <body>
            <%@include file="/WEB-INF/jspf/menu.jspf" %>
            <!--=====================================================
            Formulaire de la recherche, l'utisateur rentre des critères et clique
            sur le bouton de recherche qui va déclencher la méthode 'doFindCandidates'
            du  managedbean candidate.
            Utilisation des el pour rechercher dans le fichier de ressource
            le nom correspondant
            ===================================================== -->
            <h:form>
                <table>
                    <tr>
                        <td><h:outputText value="#{msgs.lastname}" /></td>
                        <td>
                            <h:inputText value="#{candidate.candidateRech.lastname}" >
                            </h:inputText>
                        </td>
                    </tr>
                    <tr>
                        <td><h:outputText value="#{msgs.firstname}" /></td>
                        <td>
                            <h:inputText value="#{candidate.candidateRech.firstname}" >
                            </h:inputText>
                        </td>
                    </tr>
                    <tr>
                        <td><h:outputText value="#{msgs.rate}" /></td>
                        <td>
                            <h:inputText value="#{candidate.candidateRech.rate}" >
                            </h:inputText>
                        </td>
                    </tr>
                    <tr>
                        <td><h:outputText value="#{msgs.candidateemail}" /></td>
                        <td>
                            <h:inputText value="#{candidate.candidateRech.contactinfo.email}" >
                            </h:inputText>
                        </td>
                    </tr>
                    <tr>
                        <td><h:commandButton value="#{msgs.Rech}" action="#{candidate.doFindCandidates}" /></td>
                    </tr>
                </table>
            </h:form>
        </body>
    </html>
</f:view>
à la compilation ça passe mais l'exécution non et dans le log de glasfish j'ai ceci
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
 
deployed with moduleid = interim-ejb
Hibernate Annotations 3.3.1.GA
Hibernate 3.2.5
hibernate.properties not found
Bytecode provider name : cglib
using JDK 1.4 java.sql.Timestamp handling
Hibernate EntityManager 3.3.2.GA
Processing PersistenceUnitInfo [
        name: interimPU
        ...]
Binding entity from annotated class: be.isl.interim.entity.education
Bind entity be.isl.interim.entity.education on table education
Binding entity from annotated class: be.isl.interim.entity.candidate
Bind entity be.isl.interim.entity.candidate on table candidate
Binding entity from annotated class: be.isl.interim.entity.experience
Bind entity be.isl.interim.entity.experience on table experience
Binding entity from annotated class: be.isl.interim.entity.contact_info
Bind entity be.isl.interim.entity.contact_info on table contact_info
@Column(s) not allowed on a @OneToOne property: be.isl.interim.entity.contact_info.country
org.hibernate.AnnotationException: @Column(s) not allowed on a @OneToOne property: be.isl.interim.entity.contact_info.country
        at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1384)
        at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:754)
        at org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:534)
        at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:286)
        at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1115)
        at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1225)
        at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:159)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:854)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:425)
        at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:131)
        at com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:149)
        at com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:84)
        at com.sun.enterprise.server.AbstractLoader.loadPersistenceUnits(AbstractLoader.java:895)
        at com.sun.enterprise.server.EJBModuleLoader.doLoad(EJBModuleLoader.java:165)
        at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:238)
        at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:233)
        at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:188)
        at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:420)
        at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:1005)
        at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:992)
        at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:470)
        at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:182)
        at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)
        at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:231)
        at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)
        at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)
        at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
        at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:966)
        at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:609)
        at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:653)
        at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:773)
        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 com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:381)
        at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:364)
        at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:477)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)
        at $Proxy1.invoke(Unknown Source)
        at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)
        at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174)
        at com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call(InvokeCaller.java:69)
        at com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle(MBeanServerRequestHandler.java:155)
        at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.processRequest(RemoteJmxConnectorServlet.java:122)
        at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:193)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
        at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
CORE5020 : Erreur lors du chargement du module ejb
ADM1075 : Erreur lors de l'écoute de l'événement : [Erreur lors du chargement du module EJB [interim-ejb]. Veuillez consulter le journal du serveur pour plus de détails. ]
quelqu'un aurait il une idée merci d'avance