recipientlist class cannot be inner class -- recipientList().method(Inner.class, "chooseMethod"); -------------------------------------------------------------------------------------------------
Key: CAMEL-2726 URL: https://issues.apache.org/activemq/browse/CAMEL-2726 Project: Apache Camel Issue Type: Bug Components: camel-core Affects Versions: 2.2.0, 2.1.0 Reporter: Karl Palsson If I try and use a recipient list, like so... configure() { ... from(blah).recipientList().method(Inner.class, "choose"); ... } public class Inner { public String choose(@Header(MYHEADER) String cpid, String body) { if (StringUtils.equals(cpid, SOME_VALUE)) { return optionA; } else { return optionB; } } } I get an error at context boot: Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: >>> RecipientList[] <<< in route: Route[[From[direct://openSubscription]] -> [SetHeader[CamelF... because of java.lang.InstantiationException: is.vf.conan.ConanRouter$Inner at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:693) at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:140) at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:610) at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1180) at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1090) at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1020) at org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:158) at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:53) at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:898) at org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:197) at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:101) ... 46 more Caused by: org.apache.camel.RuntimeCamelException: java.lang.InstantiationException: is.vf.conan.ConanRouter$Inner at org.apache.camel.util.ObjectHelper.newInstance(ObjectHelper.java:976) at org.apache.camel.model.language.MethodCallExpression.createExpression(MethodCallExpression.java:102) at org.apache.camel.model.language.ExpressionDefinition.createExpression(ExpressionDefinition.java:167) at org.apache.camel.model.language.ExpressionDefinition.createExpression(ExpressionDefinition.java:161) at org.apache.camel.model.RecipientListDefinition.createProcessor(RecipientListDefinition.java:84) at org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:325) at org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:137) at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:690) ... 56 more Caused by: java.lang.InstantiationException: is.vf.conan.ConanRouter$Inner at java.lang.Class.newInstance0(Class.java:340) at java.lang.Class.newInstance(Class.java:308) at org.apache.camel.util.ObjectHelper.newInstance(ObjectHelper.java:974) ... 63 more However, the same "Inner" class works perfectly well when it is a "full" class. Noticed on 2.1, verified still happens on 2.2. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.