2010-09-21 4 views
2

Mon application est déployée en tant que fichier EAR.Quelle est la meilleure pratique pour conserver les paramètres de configuration dans les fichiers EAR?

L'application a traditionnellement exigé que certaines modifications de configuration post-installation soient effectuées.

Cela a été facile avec l'Oracle 10G OAS car l'EAR a été éclaté en un répertoire permettant ainsi un accès facile aux fichiers de configuration. Avec 11G, l'EAR n'est pas éclaté, ce qui entraîne une documentation supplémentaire sur l'éclatement, la modification et la recombinaison de l'EAR. Il me semble que cela doit être un problème relativement courant avec une solution, peut-être une solution standard à travers J2EE, que je n'ai tout simplement pas trouvée ou reconnue comme la solution que je recherchais.

Certaines alternatives incluent: 1) Fournir un utilitaire qui va modifier le fichier EAR avant le déploiement. 2) Stockez tous les paramètres de configuration dans un emplacement distinct. 3) Stocker tous les paramètres de configuration dans une base de données; accéder à la base de données via un conteneur fournir une connexion exposée via JNDI.

Mais existe-t-il une meilleure pratique établie?

En l'absence de cela, quelle approche a fonctionné pour vous?

Merci Curtis

Répondre

0

Pour autant que je sache, c'est encore l'un des points de la douleur, et votre analyse est correcte la plupart du temps.

Voici un answer plus élaboré J'ai écrit il y a longtemps sur le forum java.net pour une question similaire, mais nous utilisions Glassfish.

Je n'ai pas entendu parler de changements fondamentaux dans la spécification quand il s'agit de ce problème, mais il pourrait y avoir une chose spécifique à Oracle AS qui aide.

+0

Merci de confirmer mes craintes. :) –

+0

(désolé, pas assez de points de réputation encore pour donner votre réponse un signe de tête) –

3

J'ai fait un travail important sur ce sujet avec l'un de mes clients. En un mot (que je crois devrait vous aider):

Si vous deviez utiliser des fichiers de configuration, en plaçant les fichiers de configuration dans l'oreille (par l'explosion/ré-emballage) présente l'inconvénient d'avoir vos fichiers EAR non portable entre différents environnements (par exemple, environnements d'assurance qualité et environnements de production). Au fil du temps, cela augmente les frais généraux et il y a toujours le risque étrange de confusion entre les environnements. Une telle approche n'est viable que pour les éléments de configuration environnement agnostique - c'est-à-dire, restent les mêmes dans tous les environnements SDLC (QA, test, etc.).

Vous pouvez également placer ces fichiers dans un répertoire distinct et ajouter ce répertoire au classpath de votre serveur. Ceci est fait différemment dans chaque serveur d'application; dans WebSphere, ceci est fait en utilisant la fonction "bibliothèques partagées".

Une approche qui a mieux fonctionné sur le long terme est d'utiliser la technologie J2EE réellement utilisée pour ces tâches - en utilisant resource environment entries, accessible via le mécanisme JNDI standard sous l'espace de noms java:comp/env.

Je préférerais l'approche des entrées de ressources-environnement par rapport à toute autre chose ...après avoir essayé à peu près toute solution possible.

+0

Isaac, merci pour la réponse. Je vais regarder dans l'utilisation des entrées d'environnement. (Désolé, pas assez de représentant pour donner un coup de pouce, j'espère que quelqu'un d'autre le fera en mon nom) –

Questions connexes