SAStrtusで初回リクエスト時にクラスからアノテーション情報が取得できない?

先日、アノテーションを利用した認証について書いたが、1つ問題が見つかった。

初回リクエスト時に、Actionクラスのアノテーション情報がリフレクションAPIで正しく取得できない

インターセプタ内で、

invocation.getThis().getClass().getAnnotation(XXX.class)

みたいな感じで呼び出されたメソッドを定義しているクラスのアノテーションを取得しているのだが、初回リクエスト時のみnullが返されてしまう。今のところ、この問題が発生するのは初回リクエスト時のみなので、S2ContainerのHotDeployが関係しているのかもしれない。

宿題

  • CoolDeployで同様の問題が発生しないか確認する
  • リフレクションAPIの使いかたに問題がないか確認する
  • SAStruts、S2Containerのソースを読む(ちょっとしんどそう・・・)