Comment utiliser différents META-INF / context.xml Fichiers pour le développement et les environnements de production

StackOverflow https://stackoverflow.com/questions/694109

  •  22-08-2019
  •  | 
  •  

Question

Dans Tomcat (et d'autres conteneurs de servlets) Je peux stocker des informations sur mon JDBC DataSource dans META-INF/context.xml. Ceci est très utile.

Cependant, les paramètres de mon JDBC DataSource peuvent être différents dans mes environnements de développement et de production. Je voudrais savoir comment les autres personnes face à ces différences d'une manière élégante, plus précisément comment puis-je mettre en place un context.xml pour mon environnement de développement et pour mon environnement de production de la manière la plus sans tracas.

Était-ce utile?

La solution

Vous pouvez créer des fichiers différents pour construit spécifiques. Par exemple, créer: development.context.xml production.context.xml

Ensuite, vous pouvez contrôler quel fichier contexte est utilisé dans votre fichier build.xml. En gros, la configuration d'une invite pour quel type de construction que vous souhaitez utiliser. Lorsque vous sélectionnez le développement, il utilise le fichier de contexte de développement. Lorsque vous sélectionnez la production, il utilise le fichier de contexte de production.

Autres conseils

Je ferais la même chose que Kevin a mentionné. Si vous utilisez Maven vous pouvez utiliser des « profils ».

Si vous voulez en savoir plus sur les profils Maven lire ceci: Présentation pour créer des profils

Personnellement, je ne stocke les informations de configuration comme dans context.xml (peut-être dans un autre fichier de propriétés ou quelque chose), mais la façon générale pour quelque chose comme ceci est d'avoir votre package de script build différentes versions du fichier de configuration dans le WAR / EAR / whatever. Vous pourriez avoir votre script de construction décider d'utiliser le « dev » ou fichier de configuration « de production » en fonction des paramètres que vous passez, en cours d'exécution cibles différentes, etc.

Quelque chose que je l'utilise est souvent la tâche fourmi pour remplacer certains jetons dans des fichiers avec des valeurs à partir d'un fichier de filtres; et d'échange qui filtre fichier est utilisé en fonction de l'environnement dans lequel je suis ciblage.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top