Nous sommes actuellement en train d'écrire une application qui est divisée en plusieurs projets/modules. Par exemple, prenons les modules suivants:
- myApp-DAO
- myApp-jabber
Chaque module dispose de son propre Printemps contexte fichier xml. Pour le DAO module j'ai un PropertyPlaceholderConfigurer qui lit un fichier de propriété avec la bd, les paramètres de connexion. Dans le jabber module j'ai aussi un PropertyPlaceHolderConfigurer pour la jabber propriétés de la connexion.
Vient maintenant l'application principale qui comprend myApp-DAO et myApp-jabber. Il lit tous les le contexte fichiers et commence un gros Ressort du contexte. Malheureusement, il semble comme il peut seulement être un PropertyPlaceholderConfigurer par le contexte, donc, n'importe quel module est chargé première est en mesure de le lire c'est les paramètres de connexion. L'autre déclenche une exception avec une erreur du type "impossible de résoudre espace réservé 'jabber.accueil""
Je sorte de comprendre ce qu'est le problème, mais je ne sais pas vraiment une solution, ou la meilleure pratique pour mon cas d'utilisation.
Comment puis-je configurer chaque module, de sorte que chacun est capable de charger son propre fichier de propriété? Droit maintenant, j'ai déménagé le PropertyPlaceHolderConfigurer de les séparer contexte fichiers et de les fusionner dans l'application principale du contexte (le chargement de tous les fichiers de propriétés avec un seul PropertyPlaceHolderConfigurer). Ce suce bien, parce que maintenant tout le monde qui utilise le module dao a savoir, qu'ils ont besoin d'un PropertyPlaceHolderConfigurer dans leur contexte .. les tests d'intégration dans le dao module échec etc.
Je suis curieux d'entendre sur les solutions/idées de la stackoverflow de la communauté..