[ https://issues.apache.org/activemq/browse/CAMEL-2726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-2726. -------------------------------- Resolution: Working as Designed > 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.1.0, 2.2.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.