[Seasar-user:13144] [HotDeploy] AnnotationのAnnotation

Kazuya Sugimoto [E-MAIL ADDRESS DELETED]
2008年 3月 4日 (火) 09:42:06 JST


杉本です。

HotDeploy対象のDTOのフィールドにアノテーションを付けています。
そのアノテーションには、さらにアノテーションが付いています。

以下のようにアノテーションのアノテーションを確認しようとすると
HotDeployの1回目のリクエストで期待通りに動きません。CoolDeployと
HotDeployでTomcat起動後に2回目以降のリクエストでは期待通りに動きました。

Annotation[] annotations = propertyDesc.getField().getDeclaredAnnotations();
for(Annotation annotation : annotations) {

// HogeAnnoが付いているアノテーションでもnullになってしまいます
   Annotation annoAnno =
annotation.annotationType().getAnnotation(HogeAnno.class);
}

また、isAnnotationPresentでもtrueが返ってくるはずがfalseになりました。
if(annotation.annotationType().isAnnotationPresent(HogeAnno.class)) {
・・
}

getAnnotationsで配列で取得してみると以下の3つが確認できました。
java.lang.annotation.Target
java.lang.annotation.Retention
HogeAnno(クラス名を見ただけで代入や比較では確認してません)

よろしくお願いします。

-- 
Kazuya Sugimoto
Microsoft MVP Visual Developer - Solutions Architect
http://d.hatena.ne.jp/sugimotokazuya/


Seasar-user メーリングリストの案内