S2AOPでエンハンスされたクラスからアノテーションを取得したい
んですが、どうやったらいいんでしょうかね。
使える材料は、MethodInvocationのインスタンスのみ。
LOG.debug(invoke.getMethod().getName()); LOG.debug(Arrays.asList(invoke.getMethod().getAnnotations()));
とメソッドのアノテーションはふつうにとれました。
で、
LOG.debug(invoke.getThis().getClass().getName()); LOG.debug(Arrays.asList(invoke.getThis().getClass().getAnnotations()));
とやると、出力は
hoge.Hoge$$EnhancedByS2AOP$$6c1a82 []
となってしまうのです。
javassistのバージョンを3.1に挙げてみたりしましたが変わらず。