8
votes

Connexion de la base de données JNDI avec JPA et ECLIPSelink

J'essaie de configurer une connexion de base de données en Java avec JNDI en combinaison avec Eclipselink / JPA sur Tomcat 5.5. J'ai déjà configuré la ressource JNDI dans web.xml et context.xml.

La connexion DB fonctionne avec JNDI sans utiliser JPA et ECLIPSelink. Après avoir configuré la persistance.xml pour Eclipselink, j'ai reçu l'exception suivante.

Je ne sais pas comment configurer la persistance.xml correctement pour utiliser JNDI DataSource pour la connexion DB.

L'exception xxx

web.xml xxx

context.xml xxx

persistance.xml xxx


0 commentaires

5 Réponses :


1
votes

Définir l'URL de DataSource sur "JDBC / MYDS"
JDBC / MYDS


1 commentaires

Ceci provoque une autre exception: javax.name.namenotfoundexception: nom JDBC n'est pas lié dans ce contexte à org.apache.name.namingContext.lookup (namingcontext.java:77 0) à org.apache.naming.namingContext.lookup (NamingContext .java: 14 0) à org.apache.naming.selectorContext.lookup (selectorcontext.jav a: 121) à javax.naming.initialcontext.lookup (initialContext.java:396) à org.eclipse.persistence.sessions. Jndiconnector.connect (jndicic onnector.java:110) à org.eclipse.persistence.sesstions.jndiconnector.Connect (Jndicic Onnector.java:94)



0
votes

Je pense que vous devez coder une solution de contournement pour le javax.naming.NamingException: ce contexte doit être consulté à travers une exception Java: URL comme détaillé sur http://wiki.eclipse.org/eclipselink/examples/jpa/tomcat_web_taturial#session_customizer

Voir également ce lien qui débige à travers le problème

http://forums.java.net/jive/message.jspa ? MessageID = 158622


0 commentaires

9
votes

Il suffit d'ajouter la classe JPAeclipsLinkSessionCustomizer à votre projet et configurez la persistance.xml comme indiqué ci-dessous: XXX

Vous avez besoin de cette solution de contournement uniquement pour Apache Tomcat.


1 commentaires

Le lien donné ne répond pas. J'ai trouvé une copie du fichier dans: CODE.GOOGLECOM /P/P/Buzzwords/Source/trunk/Buzzwords/ma ven / ...



1
votes

J'espère que vous pourriez résoudre le problème avec les commentaires donnés ...

Je le répare en ajoutant une propriété "javax.persistence.nonjtatatasource" avec la même valeur que l'élément non-jTA-source-source


0 commentaires

0
votes

Année 2015 Actualisation: Je ne suis pas sûr que Eclipselink SessionCustomizer est requis. Dans mon test, tout travaille sans (Tomcat 7.x, Java 7.x, Eclipselink 2.4.x).

Certains matériaux plus anciens suggèrent un problème spécifique avec Tomcat 5/6 et un moyen spécial de le résoudre.


0 commentaires