ひがやすを技術ブログ

電通国際情報サービスのプログラマ

StrutsでHOT deploy

Struts1.2.xをHOT deployに対応させようとして、いろいろ調べていたんですが、難しいことがわかりました。S2Strutsでやっているような初期化時にPluginで登録する形式だと、後から追加されたやつが自動認識できないので、オンデマンドで何とかやれないか調べていました。
がんばれば何とかできそうだったんですが、ある事実に気づいて断念。Strutsというよりcommons-beanutilsがクラスをキーにしてリフレクション情報をキャッシュするのですが、HOT deployではリクエストごとに違うクラスになってしまうので、キャッシュがあまり意味を持たないだけでなく、無駄にメモリを使ってしまい、そのうちメモリが枯渇してしまいます。
やはり、HOT deployを意識していないフレームワークをHOT deployに対応させるのは難しい。いくつかのフレームワークがHOT deployに挑戦しているみたいですが、フルスタックをHOT deployに対応させるのは、かなり難しいのではないかと思います。コンテナだけだったら何とかなると思いますが。
Strutsを使う場合は、Seasar2.3との組み合わせが良いと思います。枯れて安定しているので。