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. P>
Je ne sais pas comment configurer la persistance.xml correctement pour utiliser JNDI DataSource pour la connexion DB. P>
L'exception p> web.xml p> context.xml p> persistance.xml p>
5 Réponses :
Définir l'URL de DataSource sur "JDBC / MYDS"
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)
Je pense que vous devez coder une solution de contournement pour le Voir également ce lien qui débige à travers le problème p>
http://forums.java.net/jive/message.jspa ? MessageID = 158622 P> javax.naming.NamingException: ce contexte doit être consulté à travers une exception Java: URL CODE> comme détaillé sur http://wiki.eclipse.org/eclipselink/examples/jpa/tomcat_web_taturial#session_customizer P>
Il suffit d'ajouter la classe Vous avez besoin de cette solution de contournement uniquement pour Apache Tomcat. P> P> JPAeclipsLinkSessionCustomizer Code>
à votre projet et configurez la persistance.xml comme indiqué ci-dessous:
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 / ...
J'espère que vous pourriez résoudre le problème avec les commentaires donnés ... P>
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 code> p> p>
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). P>
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. P>