J'ai écrit une vanne Tomcat personnalisée. (J'utilise Tomcat 6.0.24 et Java 1.6) est ici l'élément XML où je déclare ma vanne:Configuration de vanne Tomcat personnalisée
<Valve className="mypkg.MyValve" foo="bar"/>
Quand je mets cette déclaration dans l'élément hôte de server.xml. Tomcat appelle la méthode setFoo() sur ma vanne avec la valeur "bar". C'est ce que je veux arriver.
Cependant, lorsque je mets cette même déclaration dans le fichier META-INF/context.xml de ma webapp, à l'intérieur de l'élément Context, Tomcat charge la vanne et la vanne fonctionne correctement. Mais Tomcat n'appelle jamais la méthode setFoo() pour fournir la valeur "barre" dont la vanne a besoin.
Je ne comprends pas pourquoi Tomcat configure correctement une vanne déclarée dans server.xml mais pas dans context.xml.
Est-ce que quelqu'un sait comment je peux faire en sorte que Tomcat configure correctement ma vanne lorsqu'elle est déclarée dans le fichier META-INF/context.xml de ma webapp?
Merci, Dan
Cela provoque ma vanne à charger et être correctement configuré par Tomcat:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Valve className="mypkg.MyValve" foo="bar"/>
</Host>
Cela provoque ma vanne à charger, mais Tomcat ne lui donner le paramètre de configuration " bar ":
<Context privileged="true" >
<Valve className="mypkg.MyValve" foo="bar"/>
</Context>