Tomcat context.xml fichiers, est-il hiérarchique?
Je suis en train d'utiliser des liens symboliques dans l'une des applications que j'ai en cours d'exécution sur Tomcat5. Grâce à l'aide de une autre question StackOverflow j'ai été capable de le faire
par la création d'un context.xml fichier dans
/...myapplication/META-INF/context.xml
Je suis maintenant essayer de mettre en œuvre la présente sur un serveur de production. Cependant, il existe d'autres applications en cours d'exécution sur elle. Et il y a un autre fichier de contexte
/...tomcat/conf/context.xml
Il me semble que ce sont les configurations de paramètres à l'échelle du serveur pour toutes les applications. Si je allowLinks dans le conf/context.xml fichier, mes liens symboliques de travail. Si je n'ai pas allowLinks dans conf/context.xml mon application est symbolique liens ne fonctionnent pas, même si j'ai permis à l'META-INF/context.xml
Ma question est, ne l'conf/context.xml contrôle de toutes les applications? Si je veux des liens symboliques pour travailler dans une seule application, ce que je dois enlever le conf/context.xml et de créer un nouveau contexte fichiers pour chaque application? Ou est-il une manière que je peux permettre à des liens symboliques dans myapplication seulement?
OriginalL'auteur jeph perro | 2008-11-25
Vous devez vous connecter pour publier un commentaire.
Voir ma réponse à la "Qui Tomcat 5 fichier de contexte a priorité" question.
Concernant votre
allowLinks
question, la valeur deconf/context.xml
l'emporte par défaut. Si vous ne dites rien de votreconf/context.xml
, la valeur par défaut estallowLinks="false"
dans votreconf/context.xml
.Si vous souhaitez modifier uniquement pour votre
myapplication
, en essayant de dire<Context allowLinks="true" ...>
dans votreMETA-INF/context.xml
n'aura aucun effet car normalement laconf/context.xml
paramètre est prioritaire.Mais, si vous dites
<Context allowLinks="true" override="true" ...>
dans votreMETA-INF/context.xml
, alors tous vos<Context>
paramètres dansMETA-INF/context.xml
sera plus priorité, écrasant quoi que ce soit dansconf/context.xml
.Enfin, au lieu d'un
myapplication/WEB-INF/context.xml
fichier, je recommande d'utiliser unconf/Catalina/localhost/myapplication.xml
fichier. Cette technique, vous pouvez conserver le contenu de votre site WEB-INF propre, ce qui est le cran de votre webapp -- je n'aime pas le risque de déblayage sur dans les entrailles de ma webapp. 🙂OriginalL'auteur netjeff
Juste pour ajouter un point.
Généralement th meta-inf/context.xml est copié à l'conf/Catalina/localhost/myapplication.xml
Quand redploying un fichier war de l'conf/Catalina/localhost/myapplication.xml est supprimé et un nouveau copié comme décrit ci-dessus.
Cela peut être une vraie douleur. J'aime l'idée de l'application de contexte spécifique, mais je ne vois pas comment le fait d'avoir cela dans le répertoire meta-inf aide.
Pour la Prod, UAT, etc cela devient une vraie douleur.
Donc pour quelque chose de statique du serveur, mais de l'application spécifique, il est préférable de le mettre dans le conf/context.xml. Qui a la fâcheuse qu'elle détient contexte pour plusieurs applications, touchez celui que vous touchez accidentellement tous.
OriginalL'auteur