affichage d'une page web avec jsf
bonjour, je developpe une appli en jsf j'utilise netbean et glasfish
j'ai une entity
candidate
Code:
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:
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:
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:
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:
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:
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:
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:
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