Teeda上で自前アノテーションが取れない(かも知れない)

仕事、だいぶん基本的な所は出来てきたので足回りにとりかかる。認証チェックとかそういうの。

簡単な認証インターセプタを何時もどおりに作ってみた。今回は認証不要の画面(ログインとか)をアノテーションで指定して、アノテーションがあったら認証をスキップするようにした。

最初、ElementTypeをMETHODにしてやったら上手くいった。

で、メソッドにアノテーション書くと、例えばログインだったら、initializeだprerenderだdoLoginだ面倒なので、ElementTypeはTYPEにした。

そしたら急にアノテーションが取れない。

Class#getAnnotation(Class)の結果がnullになっちゃって、ログイン画面の表示で無限地獄(この場合、無限はわざと字を違えてありますので4649)。

テストケースから実行すると上手くいくのです。サーバ上でTeedaで実行するとだめ。

で、Class#getAnnotations()だとちゃんととって来てくれるので

Annotation[] annotations = clazz.getAnnotations();

for(Annotation ant : annotations){
    if(ant instanceof HogeAnnotation){
        //まあいろいろと。
    }
}

てな感じで逃げた。

Seasar2.4.13、Teeda1.0.7で御座居ます。

もしかして、ここらへんがTeeda + S2Maiでコケてる原因かも知れません。ああ仕事、佳境なのに思いついてしまった。むずむず。しばしお待ちを。