[ 
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.

Reply via email to