I'll hazard a guess
The original MethodInfo comes from AOPConstructorJoinPoint
| private boolean rootHasMethodWithSubInstanceMetaData(MetaData metaData)
| {
| ....
| MethodInfo[] methods = info.getDeclaredMethods();
| if (methods != null)
| {
| for (MethodInfo mi : methods)
| {
| if (methodHasSubInstanceMetaData(metaData, mi))
| {
| return true;
| }
| }
| }
| ---
| }
|
Are the semantics of MethodInfo.getDeclaredMethods() the same as of
Class.getDeclaredMethods()? In that case it would return private and protected methods, so
these would get passed in to AnnotatedElementMetaDataLoader.
getComponentMetaDataRetrieval() which in turn calls Class.getMethod(), which will fail on
anything non-public.
| public MetaDataRetrieval getComponentMetaDataRetrieval(Signature signature)
| {
| ...
| else if (signature instanceof MethodSignature)
| {
| try
| {
| Method method = clazz.getMethod(signature.getName(),
signature.getParametersTypes(clazz));
| return new AnnotatedElementMetaDataLoader(method);
| }
| catch (NoSuchMethodException e)
| {
| return null;
| }
| }
| }
| }
|
Changing that to use class.getDeclaredMethod() might fix this
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4166192#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...