Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1447 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java JPA] Obtenir les infos sur la dataSource/persistence.xml ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java JPA] Obtenir les infos sur la dataSource/persistence.xml ?

n°1581631
The_VeryNo​vice
Posté le 02-07-2007 à 18:36:19  profilanswer
 

Bonjour
 
Je suis en stage, et je ne maitrise pas complètement J2EE 5 et particulièrement JPA. Je cherche une méthode permettant d'obtenir la dataSource de l'application sans utiliser de valeurs en dur du type (jdbc:....). Je cherche comment obtenir les informations présent dans persistence.xml (la dataSource) de manière dynamique (méthode de type DataSource maDataSource = .....getDataSource ()...)
 
Je ne peux pas la mettre en dur, car je dois ensuite la transmettre en "paramètre" à une autre application (Jasper/Ireport) via une méthode de la librairie Jasper. Et les règles de développement imposé pour l'application dise que ce genre de données ne doit pas être en dur.
 
J'espère être assez compréhensible.
 
Et que vous pourrez m'aider ?

mood
Publicité
Posté le 02-07-2007 à 18:36:19  profilanswer
 

n°1581645
the real m​oins moins
Posté le 02-07-2007 à 19:29:08  profilanswer
 

euh, tu sais récupérer le DataSource ou c'est ça qui te pose problème?

n°1581653
The_VeryNo​vice
Posté le 02-07-2007 à 20:20:37  profilanswer
 

C'est ce qui me pose problème.
Je ne trouve pas la méthode adéquate. Si tu peux m'aider, ça serait sympa. Ca me permetrait d'avancer !

n°1581664
the real m​oins moins
Posté le 02-07-2007 à 21:36:33  profilanswer
 

en général on récupere ça par jndi, ou par injection, si t'es en j2ee5 et que t'as la chance de bosser avec un serveur qui comprenne ça...
 
mais si tu utilises jpa, qqchose me dit que ptet tu devrais pas passer ta ds a jasperreports, mais plutot un truc capable de causer a ton systeme jpa

n°1581666
the real m​oins moins
Posté le 02-07-2007 à 21:38:53  profilanswer
 
n°1581750
The_VeryNo​vice
Posté le 03-07-2007 à 08:45:58  profilanswer
 

En fait sous Ireport, je fais des requêtes SQL classiques (choix de mon responsable de stage, vu la complexité des requêtes : jointures,conditions...) Donc je ne cherche pas à passer une connexion JPA classiques, mais plutot les paramètres de la connexion à la BD présente dans le persistence.xml.  
 
Peut être que PersistenceUnitInfo.getProperties() est une solution, je regarde.

n°1581793
the real m​oins moins
Posté le 03-07-2007 à 10:02:18  profilanswer
 

ha ben PersistenceUnitInfo.getJtaDataSource()  hein [:pingouino]
(je connais pas c't'api)

n°1581799
The_VeryNo​vice
Posté le 03-07-2007 à 11:08:42  profilanswer
 

En fait ça marche pas, ce que je voulais faire.
Et quand je parlais de persistanceUnitInfo..., il s'agit de javax.persistance.PersistenceUnitInfo (interface). Mais de ce coté là, c pas ça encore. Je suis ouvert à toute solution ! Merci

n°1581818
the real m​oins moins
Posté le 03-07-2007 à 11:48:33  profilanswer
 

ben t'arrives a recuperer une PersistenceUnitInfo ou bien ?

n°1581898
The_VeryNo​vice
Posté le 03-07-2007 à 14:11:32  profilanswer
 

Nan, ça plante à chaque fois. Je suis en stage, et je débute sur l'API JPA... Donc je suis pas hyper au point sur ce sujet.

mood
Publicité
Posté le 03-07-2007 à 14:11:32  profilanswer
 

n°1581907
the real m​oins moins
Posté le 03-07-2007 à 14:41:53  profilanswer
 

ça "plante"? :D

 

et ton maitre de stage, il ferait pas un peu son boulot, au lieu de te laisser trainer sur des forums et bosser gratuit? :D


Message édité par the real moins moins le 03-07-2007 à 14:42:36
n°1581929
The_VeryNo​vice
Posté le 03-07-2007 à 15:20:10  profilanswer
 

Que veux tu. Sois je suis pas doué. Mais bon, j'essaye plein de trucs.
Et mon maitre est absent ! Merci qd même.

n°1582684
The_VeryNo​vice
Posté le 05-07-2007 à 08:33:22  profilanswer
 

C'était tout simple, je sais pas pourquoi j'ai autant galéré.
Voici la solution
 
Connection conn = null;
Context ctx = new InitialContext();
 
// On recherche la dataSource à partir de son nom
DataSource ds = (DataSource) ctx.lookup("jdbc/...));
 
// On vérifie que la dataSource existe
if (ds != null) {
conn = ds.getConnection();
}

n°1582748
the real m​oins moins
Posté le 05-07-2007 à 11:10:27  profilanswer
 

bah alors qu'est-ce que je disais :O jndi :O
 
si la ds n'existe pas, t'aurais une exception ;)
( NameNotFoundException je crois)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java JPA] Obtenir les infos sur la dataSource/persistence.xml ?

 

Sujets relatifs
[Java/Ireport] Obtenir une valeur obtenue dans le sous rapportjava, un ti pb
[JAVA] Question de syntaxe[JAVA] conseil sur livre d'apprentissage
Visual Studio JAVA et Mysqlbesoin d'aide en java ?
[Java web start]Programme qui ne donne rien.Question sur les socket en JAVA
[JAVA] Probleme avec l'instruction Saisie.lire_int(); 
Plus de sujets relatifs à : [Java JPA] Obtenir les infos sur la dataSource/persistence.xml ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR