ログ日記

作業ログと日記とメモ

Wicket 1.5 では今のところはReloadingWicketFilterを使わない方針で

Tomcatの起動ログで

致命的: The web application [/myapp] registered the JBDC driver [org.postgresql.Driver]
 but failed to unregister it when the web application was stopped. To prevent a memory leak,
 the JDBC Driver has been forcibly unregistered.
2011/04/26 17:26:55 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
致命的: The web application [/myapp] registered the JBDC driver [org.postgresql.Driver]
 but failed to unregister it when the web application was stopped. To prevent a memory leak,
 the JDBC Driver has been forcibly unregistered.
2011/04/26 17:26:55 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
致命的: The web application [/myapp] appears to have started a thread named
 [ModificationWatcher Task] but has failed to stop it. This is very likely to create a memory leak.

とか出る。
あとTomcatを何度もリロードしたら

java.lang.OutOfMemoryError: PermGen space

エラーで動かなくなる。


JDBCの方は http://d.hatena.ne.jp/shinsuke_sugaya/20100209/1265665068 ここや http://d.hatena.ne.jp/newta/20091007/1254920106 ここを見たら直ったんだけど、ModificationWatcher Taskはどうすればいいんだろうと。



1.5-RC3が出ていたので更新した。
でもReloadingWicketFilter周りは変わっていない模様。


なのでS2WicketFilterをMyS2WicketFilterとでも名前を変えて保存して、ReloadingWicketFilterではなくWicketFilterを継承するようにして、ReloadingClassLoaderを使わないようにした。
ReloadingWicketFilterは、動作モードがdeploymentになっているからReloadingClassLoaderを使わない、なんていう処理はやっていないので。
この切り替え処理を入れたMyReloadingWicketFilterを作ってそれをS2WicketFilterで継承してもよかったかもしれない。というかほとんどコードがないわけだから、S2WicketFilterの中で動作モードを見てReloadingClassLoaderを生成するべきか。まぁもう少し待とう。


フィルタ名やenv.txtの切り替えはhudsonのビルド設定→シェルの実行に sed -i を書いている。