カスタム Tomcat バルブを作成しました。(Tomcat 6.0.24 と Java 1.6 を使用しています) バルブを宣言する XML 要素は次のとおりです。
<Valve className="mypkg.MyValve" foo="bar"/>
この宣言を server.xml の Host 要素内に配置すると。Tomcat は、バルブの setFoo() メソッドを値「bar」で呼び出します。それが私がしたいことです。
ただし、この同じ宣言を Web アプリケーションの META-INF/context.xml の Context 要素内に配置すると、Tomcat がバルブをロードし、バルブが正常に動作します。しかし、Tomcat は setFoo() メソッドを呼び出して、バルブが必要とする「バー」値を提供することはありません。
Tomcat が server.xml で宣言されているが context.xml では宣言されていないバルブを適切に構成する理由がわかりません。
webappのMETA-INF/context.xmlで宣言されているときにTomcatにバルブを適切に構成させる方法を知っている人はいますか?
ありがとう、ダン
これにより、バルブがロードされ、Tomcat によって適切に構成されます。
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Valve className="mypkg.MyValve" foo="bar"/>
</Host>
これにより、バルブがロードされますが、Tomcat は構成パラメーター「bar」を与えません。
<Context privileged="true" >
<Valve className="mypkg.MyValve" foo="bar"/>
</Context>