2009-11-16 3 views
2

Mon application Web utilise la même configuration de base de données que l'application XYZ. J'ai une déclaration de ressource pour un contexte dans server.xml, donc j'ai une configuration dupliquée (une fois pour l'application web et une fois pour l'application XYZ). Comment puis-je lire des valeurs 'externes' dans server.xml? Par exemple:Configuration dynamique server.xml de Tomcat

<Resource name="jdbc/MyDB" username="${user}" password="${pwd}" url="${url}" ... 
+0

Par exemple ...? – intgr

+0

Je ne comprends pas très bien comment c'est une duplication? Je le comprendrais si user/pass/url étaient les mêmes pour les deux applications (c'est-à-dire la balise entière '), mais ce n'est pas vrai dans votre cas. Ils sont réellement différents! Pouvez-vous nous en dire un peu plus sur la «duplication» dont vous parlez? – BalusC

+0

Mais je suis triste: "même configuration de base de données", donc user/pass/url sont les mêmes. –

Répondre

1

En bref - vous ne pouvez pas faire cela avec la configuration de tomcat. De plus, spécifique à server.xml, le seul moyen de le recharger est de redémarrer le serveur.

Si vous avez besoin de la source de données uniquement dans une application Web, vous pouvez le faire en utilisant la structure de base PropertyPlaceholderConfigurer.

Une autre façon pourrait être d'hériter de StandardHost de Tomcat et StandardContext et faire un peu d'analyse personnalisée.

Questions connexes