Je veux tester de nouvelles fonctionnalités faisant partie d'une application Web interne. Ce nouveau code utilise une connexion de base de données normalement fournie par un serveur d'applications (Tomcat). P>
Je ne veux pas recréer l'application Web totale sur ma machine locale pour tester le nouveau code, car je n'ai besoin que d'exécuter une seule fonction. P>
Est-ce que quelqu'un sait comment je peux "spoof" un contexte ou une source de données, de récupérer la configuration de la base de données, sans créer une instance d'application Web sur un serveur? p>
3 Réponses :
Avec l'aide du printemps SimplenamingContextBuilder et Apache basicdatasource A>, vous pouvez faire quelque chose comme ceci (j'ai généralement ceci dans un bloc statique dans des classes de test qui ont besoin de JNDI): la valeur de Une fois que cela est configuré, le code qui recherche normalement la connexion de la base de données via JNDI devrait fonctionner. Le code ci-dessus serait par exemple fonctionner avec cette configuration Spring: p> jndi_name code> pourrait regarder Comme ceci:
Java: comp / env / jdbc / my-dB code> p>
Lauri, comment est-ce que le jndiobjactorybean code> savoir à la recherche
my-db code> dans le répertoire de printemps? Vous n'avez pas à fournir l'environnement de contexte? En particulier, dans cet environnement, à quelle valeur définiriez-vous la propriété
java.naming.factory.initial code>?
Lauri, s'il vous plaît voir ma question à Stackoverflow.com/Questtions/5682732/... .
SimpleNamingContextBuilder est "obsolète à partir de la structure de printemps 5.2 en faveur de solutions complètes de tiers tels que SIMPLE-JNDI"
Les solutions énumérées ici sont un peu plus simples que ce que j'ai proposé il y a environ un an lorsque je devais faire la même chose. Je faisais essentiellement ma propre implémentation de données de données et l'ajoutant à un nouveau contexte initial. P>
avec TOMCATJNDI Vous pouvez accéder à toutes les ressources JNDI que vous avez configurées à Tomcat, utilisées dans votre application Web. Le code pour y réaliser est simple et ressemble à