Tomcat on Kaffe

正規表現が誤動作していたのは、GNU Classpathのバグであった。java.util.regex.Matcher#matches()は文字列全体にマッチングするか否かを判定するメソッドであるが、Classpathでは単にfind(0)を呼ぶだけなので部分文字列にもマッチングしてしまう。従って、java scriptを排除するためにフィルタリングルールに*.jsと書くと、.jspファイルにもマッチングしてしまう。

正規表現のバグを直すとセッションの動的複製はとりあえず動作するが、CPU利用率が100%になってしまう。org.apache.catalina.cluster.tcp.ReplicationListenerとorg.apache.catalina.cluster.tcp.TcpReplicationThreadがリクエストを処理するあたりで無限ループしているようだ。