起動時の引数を利用してserver.xmlの内容を置換えるようにできる。
これは目からうろこだった。
たとえばクラスタリングにつかうjvmRouteの値などはほとんど同じ設定の二台でjvmRouteだけが違うのに二つのファイルを用意するのはミスの元。
というわけでjava起動時の-Dオプションで指定しておけばあとはシェルでおなじみの変数表記で置換えてくれる。
Tomcat起動引数に以下のようにして起動
-DjvmRoute=a
server.xmlでは以下のように記述
<Engine name=”Catalina” defaultHost=”localhost”
jvmRoute=”${jvmRoute}”>
そうするとjvmRoute=”a”と記述したのと同じことになる。すばらしい!