2017-05-30 1 views
0

Je sais quand l'attribut copyXML de l'élément est vrai, quel que soit le contexte écrit dans l'application META-INF/context.xml est copié dans conf/Catalina/localhost/{ appname} .xml.quel est le bénéfice ou l'avantage de tomcat copyXML = true attribut sur <Host> élément

Mais ce qui est obtenu avec la copie. L'application fonctionne même si elle réside à l'intérieur de META-INF.

Référence: https://tomcat.apache.org/tomcat-8.5-doc/config/context.html

Dans un fichier individuel à /META-INF/context.xml dans les fichiers d'application. Facultativement (basé sur l'attribut copyXML de l'hôte), il peut être copié dans $ CATALINA_BASE/conf/[nom_de_véhicule]/[nom_hôte]/et renommé en nom de fichier de base de l'application plus une extension ".xml".

Répondre

0

L'avantage est qu'un fichier WAR avec un META-INF/context.xml intégré aura ce descripteur de déploiement copié à l'endroit où Tomcat le recherchera de préférence à celui trouvé dans le fichier WAR.

Vous voudriez faire ceci est que vous devez customiser le context.xml pour n'importe quelle configuration spécifique d'environnement (par exemple JNDI DataSource, MailSession, environnement, etc.). Si copyXML est faux, vous devrez extraire manuellement ce fichier et le placer à l'emplacement approprié sous le répertoire conf/ de Tomcat.

+0

Merci Christopher pour la réponse. Donc, cela ne fonctionnerait-il pas si context.xml se trouvait dans META-INF seulement? –

+0

Cela fonctionnera très bien. Le fait que Tomcat copie 'META-INF/context.xml' dans' conf/[service]/[hôte]/[nom de l'application] .xml' est juste une commodité pour les administrateurs qui veulent que cela se produise. Si vous n'avez pas besoin de cette fonctionnalité, ne l'utilisez pas. –

+0

Merci Christopher –