Déployer un EJB sur JBoss
bonjour a tous
je rencontre une erreur lors du deploiement de mon application EJB devolopper en JEE avec sclipse sur JBOSS
Voici l'erreur generer sur JBOSS
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
|
DEPLOYMENTS MISSING DEPENDENCIES:
Deployment "jboss.j2ee:jar=ejbPersonel.jar,name=PersonneSession,service=EJB3" is missing the following dependencies:
Dependency "<UNKNOWN jboss.j2ee:jar=ejbPersonel.jar,name=PersonneSession,service=EJB3>" (should be in state "Installed", but is actually in state "** UNRESOLVED Demands 'persistence.unit:unitName=ejbPersonel.jar#ejbPersonel' **")
Deployment "jboss.j2ee:jar=ejbPersonel.jar,name=PersonneSession,service=EJB3_endpoint" is missing the following dependencies:
Dependency "jboss.j2ee:jar=ejbPersonel.jar,name=PersonneSession,service=EJB3" (should be in state "Installed", but is actually in state "PreInstall")
Deployment "persistence.unit:unitName=ejbPersonel.jar#ejbPersonel" is missing the following dependencies:
Dependency "jboss.jca:name=myPersonneDS,service=DataSourceBinding" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.jca:name=myPersonneDS,service=DataSourceBinding' **")
DEPLOYMENTS IN ERROR:
Deployment "<UNKNOWN jboss.j2ee:jar=ejbPersonel.jar,name=PersonneSession,service=EJB3>" is in error due to the following reason(s): ** UNRESOLVED Demands 'persistence.unit:unitName=ejbPersonel.jar#ejbPersonel' **
Deployment "jboss.jca:name=myPersonneDS,service=DataSourceBinding" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.jca:name=myPersonneDS,service=DataSourceBinding' **
at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1370) [:2.2.0.GA]
at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1316) [:2.2.0.GA]
at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:968) [:2.2.0.GA]
at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.checkComplete(MainDeployerPlugin.java:82) [:6.0.0.Final]
at org.jboss.profileservice.dependency.ProfileControllerContext$DelegateDeployer.checkComplete(ProfileControllerContext.java:138) [:0.2.2]
at org.jboss.profileservice.deployment.hotdeploy.HDScanner$HDScanAction.deploy(HDScanner.java:246) [:0.2.2]
at org.jboss.profileservice.deployment.hotdeploy.HDScanner$HDScanAction.complete(HDScanner.java:192) [:0.2.2]
at org.jboss.profileservice.management.TwoPCActionWrapper.doComplete(TwoPCActionWrapper.java:57) [:0.2.2]
at org.jboss.profileservice.management.actions.AbstractTwoPhaseModificationAction.complete(AbstractTwoPhaseModificationAction.java:74) [:0.2.2]
at org.jboss.profileservice.management.actions.AbstractTwoPhaseModificationAction.prepare(AbstractTwoPhaseModificationAction.java:95) [:0.2.2]
at org.jboss.profileservice.management.ModificationSession.prepare(ModificationSession.java:87) [:0.2.2]
at org.jboss.profileservice.management.AbstractActionController.internalPerfom(AbstractActionController.java:234) [:0.2.2]
at org.jboss.profileservice.management.AbstractActionController.performWrite(AbstractActionController.java:213) [:0.2.2]
at org.jboss.profileservice.management.AbstractActionController.perform(AbstractActionController.java:150) [:0.2.2]
at org.jboss.profileservice.management.AbstractActionController.perform(AbstractActionController.java:135) [:0.2.2]
at org.jboss.profileservice.deployment.hotdeploy.HDScanner.scan(HDScanner.java:146) [:0.2.2]
at org.jboss.profileservice.deployment.hotdeploy.HDScanner.run(HDScanner.java:90) [:0.2.2]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [:1.7.0_01]
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351) [:1.7.0_01]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178) [:1.7.0_01]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) [:1.7.0_01]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [:1.7.0_01]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [:1.7.0_01]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [:1.7.0_01]
at java.lang.Thread.run(Thread.java:722) [:1.7.0_01] |
Mon fichier de persistance.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/
ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="ejbPersone" transaction-type="JTA">
<jta-data-source>java:/myPersonneDS</jta-data-source>
<properties>
<!-- Dialecte -->
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
</properties>
</persistence-unit>
</persistence> |
voici le conetnu du mysql-ds.xml portant le myPersonneDS.xml
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
|
<?xml version="1.0" encoding="UTF-8"?>
<!-- See http://www.jboss.org/community/wiki/Multiple1PC for information about local-tx-datasource -->
<!-- $Id: mysql-ds.xml 97536 2009-12-08 14:05:07Z jesper.pedersen $ -->
<!-- Datasource config for MySQL using 3.0.9 available from:
http://www.mysql.com/downloads/api-jdbc-stable.html
-->
<datasources>
<local-tx-datasource>
<jndi-name>myPersonneDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/personne</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password></password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
<!-- should only be used on drivers after 3.22.1 with "ping" support
<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
-->
<!-- sql to call when connection is created
<new-connection-sql>some arbitrary sql</new-connection-sql>
-->
<!-- sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers
<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
-->
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources> |
et voici la classe EJB
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
| package myentity;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
public class Personnel
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int IDPers;
private String nmPers;
private String prenomPers;
@Temporal(TemporalType.DATE)
private Date datenaisPers;
private boolean statutPers;
@OneToMany
private Collection<Personnel> InferieurList;
@ManyToOne
@JoinColumn(name="superieuID")
private Personnel superieuID;
public Personnel(){
InferieurList = new ArrayList<Personnel>();
}
public int getIDPers() {
return IDPers;
}
public void setIDPers(int iDPers) {
IDPers = iDPers;
}
public String getNmPers() {
return nmPers;
}
public void setNmPers(String nmPers) {
this.nmPers = nmPers;
}
public String getPrenomPers() {
return prenomPers;
}
public void setPrenomPers(String prenomPers) {
this.prenomPers = prenomPers;
}
public Date getDatenaisPers() {
return datenaisPers;
}
public void setDatenaisPers(Date datenaisPers) {
this.datenaisPers = datenaisPers;
}
public boolean isStatutPers() {
return statutPers;
}
public void setStatutPers(boolean statutPers) {
this.statutPers = statutPers;
}
public Collection<Personnel> getInferieurList() {
return InferieurList;
}
public void setInferieurList(Collection<Personnel> superieur1) {
InferieurList = superieur1;
deployer une
}
public Personnel getSuperieuID() {
return superieuID;
}
public void setSuperieuID(Personnel superieur) {
superieuID = superieur;
}
} //End Class Personnel |
Merci d'avance