Problème lors de la connexion à une base donnée (erreur d'ejb)
Bonjour,
Actuellement je développe un petit projet de gestion d'équipements et lors de la connexion de mon client vers la base de données, j'ai une erreur.
Pour info, ma base de données est sur Postgres lié à Glassfish (ça ping).
Lors de l’exécution de mon client j'obtiens cette info :
Citation:
INFOS: Cannot find javadb client jar file, derby jdbc driver will not be available by default.
puis l'erreur :
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
| javax.ejb.EJBException
at com.sun.ejb.containers.EJBContainerTransactionManager.processSystemException(EJBContainerTransactionManager.java:752)
at com.sun.ejb.containers.EJBContainerTransactionManager.completeNewTx(EJBContainerTransactionManager.java:702)
at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:507)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4566)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2074)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2044)
at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:212)
at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:79)
at com.sun.proxy.$Proxy233.maintenanceEquip(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.dispatchToMethod(ReflectiveTie.java:143)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:173)
at com.sun.corba.ee.impl.protocol.ServerRequestDispatcherImpl.dispatchToServant(ServerRequestDispatcherImpl.java:528)
at com.sun.corba.ee.impl.protocol.ServerRequestDispatcherImpl.dispatch(ServerRequestDispatcherImpl.java:199)
at com.sun.corba.ee.impl.protocol.MessageMediatorImpl.handleRequestRequest(MessageMediatorImpl.java:1549)
at com.sun.corba.ee.impl.protocol.MessageMediatorImpl.handleRequest(MessageMediatorImpl.java:1425)
at com.sun.corba.ee.impl.protocol.MessageMediatorImpl.handleInput(MessageMediatorImpl.java:930)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:213)
at com.sun.corba.ee.impl.protocol.MessageMediatorImpl.handleRequest(MessageMediatorImpl.java:694)
at com.sun.corba.ee.impl.protocol.MessageMediatorImpl.dispatch(MessageMediatorImpl.java:496)
at com.sun.corba.ee.impl.protocol.MessageMediatorImpl.doWork(MessageMediatorImpl.java:2222)
at com.sun.corba.ee.impl.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
at com.sun.corba.ee.impl.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)
Caused by: java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory for unitName BiblioHugo
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.init(EntityManagerWrapper.java:138)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper._getDelegate(EntityManagerWrapper.java:171)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.find(EntityManagerWrapper.java:341)
at mypack.UtilisationEquipBean.maintenanceEquip(UtilisationEquipBean.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4786)
at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:656)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:73)
at org.jboss.weld.ejb.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:608)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4758)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4746)
at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:205)
... 19 more |
La question que je me pose est de savoir si c'est lié au code ou à une partie manquante d'installation de drivers ?
Voici mon client :
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
| import mypack.*;
import javax.naming.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException.*;
public class Client {
public static void main(String [] args) throws NamingException{
try{
InitialContext initcont=new InitialContext();
UtilisationEquip utilisationequip= (UtilisationEquip)initcont.lookup("mypack.UtilisationEquip") ;
boolean menu=true;
int choice;
String nom,equipId,dateMaint,validdispo, message;
boolean dispo=false;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while(menu){
System.out.println("Menu : \n0: EXIT\n1: Creer un equipement\n2: Faire la maintenance\n3: Utiliser un équipement\n4: Fin d'utilisation");
choice=Integer.parseInt(reader.readLine().substring(0,1));
switch(choice){
case 0: menu=false;
break;
case 1: System.out.println("equipId:");
equipId=reader.readLine();
equipId=equipId.substring(0,3);
System.out.println("nom:");
nom=reader.readLine();
System.out.println("Date de maintenance:");
dateMaint=reader.readLine();
System.out.println("Dispo :");
validdispo=reader.readLine();
if(validdispo.equals("true") || validdispo.equals("1")){
dispo=true;
}
utilisationequip.nouveauEquip(equipId,nom,dateMaint,dispo);
System.out.println("Equipement : "+ nom +" ajouté");
dispo=false;
break;
case 2: System.out.println("equipId:");
equipId=reader.readLine();
equipId=equipId.substring(0,3);
System.out.println("Nouvelle date de maintenance:");
dateMaint=reader.readLine();
utilisationequip.maintenanceEquip(equipId,dateMaint);
System.out.println("\nEquipement valide jusqu'au : "+dateMaint);
break;
case 3: System.out.println("equipId:");
equipId=reader.readLine();
equipId=equipId.substring(0,3);
message =utilisationequip.reservationEquip(equipId);
System.out.println(message);
break;
/*case 4: System.out.println("equipId:");
equipId=reader.readLine();
equipId=equipId.substring(0,3);
message =utilisationequip.rendreLivre(equipId);
System.out.println(message); */
}
}
}catch(Exception e){
e.printStackTrace();
}
}
} |
Et mon persistence.xml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="1.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="BiblioHugo">
<jta-data-source>jdbc/biblio</jta-data-source>
<properties>
<property name ="javax.persistence.jdbc.driver"
value ="org.postgresql.Driver"/>
<property name ="javax.persistence.jdbc.url"
value="jdbc:postgresql://localhost:5432/biblio"/>
<property name="javax.persistence.jdbc.user" value="postgres"/>
<property name ="javax.persistence.jdbc.password" value ="admin"/>
</properties>
</persistence-unit>
</persistence> |
Merci pour votre aide :merci: