2010-04-29 6 views
7

Je travaille sur un projet où nous allons utiliser Tomcat 6.0.20 pour le développement et la production.Tomcat 6 | Quelle est la signification de antiResourceLocking & antiJARLocking?

J'ai rencontré quelques problèmes liés au déploiement à chaud qui nécessite de définir Context.antiResourceLocking sur false dans server.xml. J'ai eu quelques questions sur antiResourceLocking et antiJARLocking. J'ai parcouru la référence au http://tomcat.apache.org/tomcat-6.0-doc/config/context.html. Ce que je ne comprends pas, c'est ce que vous entendez par un JAR verrouillé ou une ressource verrouillée. Ce que j'ai lu jusqu'à présent, c'est que le problème de verrouillage vient généralement lorsque vous annulez le déploiement d'une application qui échoue en raison d'un processus ayant un verrou sur le fichier/pot. Quelqu'un peut-il me diriger vers quelque chose où je peux lire plus sur cette question?

Mes questions sont: 1) Si je mets antiJARLocking et/ou antiResourceLocking à faux, quels sont les problèmes que je peux rencontrer? Quelqu'un peut-il donner un exemple? 2) Est-ce une mauvaise pratique de définir ces attributs sur false dans un environnement de production? 2) Est-il vrai que le verrouillage ne se produira pas aussi souvent sur une machine Linux que sur une machine Windows?

Appréciez votre aide.

Merci.

Govind N.

Répondre

5

Voici mes réponses à ces questions:

1) D'après ce que je peux dire, la mise en antiJARLocking et/ou antiResourceLocking false ne pourrait causer des problèmes sur Windows (si je me souviens vaguement Le développeur Tomcat prétend qu'il affecte également Linux - je ne tiens pas compte de cela parce que j'en ai vu aucune preuve, et aucun exemple/explication détaillée ne le prouve).

2) Il est de mauvaise pratique de les définir sur false lorsque Tomcat s'exécute sous Windows.

Deuxième 2) !! J'ai lancé Tomcat sur plusieurs distributions et versions Linux depuis plus de dix ans. Je n'ai jamais vu un problème de verrouillage ou de verrouillage de ressources en raison de ne pas définir un de ces attributs sur true. Pour autant que je sache, cela n'arrive pas, mais cela peut dépendre de l'implémentation du système de fichiers que vous utilisez, et j'ai toujours utilisé EXT2, EXT3 ou EXT4.

Si vous avez encore des questions à ce sujet, renseignez-vous sur la liste de diffusion Tomcat-user.

À la votre!

Jason Brittain Co-auteur, Tomcat: Le Guide (O'Reilly)

4

1) J'avais construit un système autour svn pour construire automatiquement et déployer une application Web, le déploiement a été effectué par la fourmi Tomcat tâches, et avec antiJARLocking et/ou antiResourceLocking à false, l'application n'a pas été déployée correctement, car Tomcat n'a pas pu supprimer certains fichiers jars et le fichier de configuration log4j.properties. Le déploiement a donc échoué. J'ai donc dû définir ces propriétés sur true, et Tomcat a fait une copie de la webapp dans le répertoire temp. Cela rend le déploiement plus lent et avec presque chaque redéploiement, le répertoire temporaire a pris de l'ampleur. J'ai donc dû créer une procédure pour supprimer les anciens déploiements de mon application du répertoire temp. Il est possible de supprimer à tout moment les déploiements du répertoire temp, car tomcat redéploiera l'application dans le répertoire temp.

2) A partir des documents tomcat, j'ai compris que les problèmes de verrouillage de jar ou de verrouillage des ressources se produisent uniquement sur Windows. Je ne définirais pas ces propriétés sur true dans un environnement de production, car il n'est pas nécessaire de redéployer si souvent. Avec java, il est toujours judicieux de redémarrer le serveur après le redéploiement en production (une erreur OutOfMemoryError se cache toujours dans le noir. même si votre propre code ne fuit pas). Un autre problème mineur est que l'application étant déployée dans le répertoire temp, si vous modifiez un fichier jsp ou un autre fichier dans le répertoire webapps, il ne sera pas redéployé à moins que vous ne copiiez également les modifications dans le répertoire temp.

Questions connexes