Jetspeed でノートパッドポートレットを利用していて、そのエラーが起きるのだが、どうも、Sun の AMD 64bit Javaを利用すると発生する。32 bit だと問題ないのだけど・・・。ノートパッドポートレットは、Hibernate+Seasar2+MyFacesという構成だが、Hibernateまわりが怪しいのかな・・・。何が原因だろうか・・・。
参考情報
http://www.intra-mart.jp/download/doc/OutOfMemoryError.html
いろいろと調べてみる。状況を確認するには、-Dcom.sun.management.jmxremoteのjavaオプションを付けて実行して、jconsole でみるとわかりやすいかね。どうもみていると、Hibernate+Searsar2+MyFacesの構成のポートレットを読み込むと、PermGenが10Mくらいずつあがっていくような・・・。確かに、Hibernate関連で、無駄にjarファイルを登録しているからな・・・、絞らないとダメだな、これは。でも、ヒーブ関連もいっぱいになっているな・・・。JSF でコードを書くときにセッションも絞り込んだ方がいいのかも。うむむ、これを見ていると、反省すべき点がいろいろと見つかるな・・・。確か、以前、J2もjarファイルをウェブコンテナの方にまとめようという話もあったと思うし。そうしないと、たくさんポートレットを配備したりすると、PermGenとかあっさり超えるような。