You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Michał Warecki (Commented JIRA)" <ji...@apache.org> on 2012/03/07 13:38:59 UTC
[jira] [Commented] (CAMEL-4230) BeanProcessor - Improved exception
message if failed to invoke method
[ https://issues.apache.org/jira/browse/CAMEL-4230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13224237#comment-13224237 ]
Michał Warecki commented on CAMEL-4230:
---------------------------------------
I think it can be done as in the case IllegalArgumentException:
protected Object invoke(Method mth, Object pojo, Object[] arguments, Exchange exchange) throws InvocationTargetException {
try {
return mth.invoke(pojo, arguments);
} catch(IllegalAccessException e) {
throw new RuntimeExchangeException("IllegalAccessException occurred invoking method: " + mth + " using arguments: " + Arrays.asList(arguments), exchange, e);
} catch (IllegalArgumentException e) {
throw new RuntimeExchangeException("IllegalArgumentException occurred invoking method: " + mth + " using arguments: " + Arrays.asList(arguments), exchange, e);
}
}
> BeanProcessor - Improved exception message if failed to invoke method
> ---------------------------------------------------------------------
>
> Key: CAMEL-4230
> URL: https://issues.apache.org/jira/browse/CAMEL-4230
> Project: Camel
> Issue Type: Improvement
> Components: camel-core
> Reporter: Claus Ibsen
> Priority: Minor
> Fix For: 2.10.0
>
>
> See nabble
> http://camel.465427.n5.nabble.com/How-to-impl-bean-side-of-proxy-w-Future-return-tp4581104p4581104.html
> If for some reason the method cannot be invoked, you may get a caused exception
> {code}
> Caused by: java.lang.IllegalAccessException: Class org.apache.camel.component.bean.MethodInfo can not access a member of class com.sonatype.overlord.xpi.AsyncProxyBeanCamelTest$1 with modifiers "public"
> at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
> at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:329)
> at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:231)
> at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:169)
> {code}
> We should catch this and provide a wrapped exception with a more descriptive error message, about the bean and method attempted to invoke.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira