COOL Deployで自動コンポーネント登録ができない件

以下SAStruts-1.0.2(Seasar2.4.25)の話。

Seasar2のHOT Deployではリクエスト毎にクラスローダを作るためライフサイクルをSingletonにしたり、Singletonパターンを使っても無駄、という事がわかったのでCOOL Deployに切り替えてテストしようとした。しかしHOT Deployでは動作していたURLを叩いてActionを呼び出そうとしても、Not Foundと言われてしまった。

起動時のログを見ると、一部のActionクラスに対して「コンポーネント○○を登録しました」というログが吐かれていない。どうやら@Excuteアノテーションを付けたメソッドが存在していないActionクラスを登録しようとした時にInvocationTargetException(たぶん)がスローされて以降のActionについてコンポーネント登録が止まってしまうようだ。

@Excuteが無いのはそもそもActionとしておかしいので、その動作は構わないと思うけど、「コンポーネント登録に失敗したぜ」というログが出ないのでちょっと困惑したという話でした。