[ 
https://issues.apache.org/jira/browse/CAMEL-11240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pascal Schumacher updated CAMEL-11240:
--------------------------------------
    Description: 
After updating from 2.18.3 to 2.19.0 this test fails:

{code:java}
package test;

import org.apache.camel.EndpointInject;
import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.ExchangeBuilder;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.junit.Test;

public class MethodNotFoundExceptionTestSimplified extends CamelTestSupport {

    public static interface InterfaceEmpty {
        boolean isEmpty();
    }

    public static class SuperClazz {
        public boolean isEmpty() {
            return true;
        }
    }

    public static class Clazz extends SuperClazz implements InterfaceEmpty {
    }

    public static class MethodNotFoundExceptionRoute extends RouteBuilder {

        @Override
        public void configure() throws Exception {
            
from("seda:in").choice().when(simple("${headers.bean.isEmpty()}")).to("mock:out");
        }
    }

    @Produce(uri = "seda:in")
    private ProducerTemplate in;

    @EndpointInject(uri = "mock:out")
    private MockEndpoint out;

    @Override
    protected RouteBuilder createRouteBuilder() {
        return new MethodNotFoundExceptionRoute();
    }

    @Test
    public void methodNotFoundExceptionException() throws Exception {
        out.expectedMessageCount(1);

        ExchangeBuilder exchangeBuilder = new 
ExchangeBuilder(context).withHeader("bean", new Clazz());
        in.send(exchangeBuilder.build());

        out.assertIsSatisfied();
    }
}{code}

with:

{noformat}
22:35:38.069 [Camel (camel-1) thread #0 - seda://in] ERROR 
org.apache.camel.processor.DefaultErrorHandler - Failed delivery for 
(MessageId: ID-Redhawk-THINK-50332-1494275736472-0-3 on ExchangeId: 
ID-Redhawk-THINK-50332-1494275736472-0-4). Exhausted after delivery attempt: 1 
caught: org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed 
to invoke method: isEmpty() on null due to: 
org.apache.camel.component.bean.MethodNotFoundException: Method with name: 
isEmpty() (with no parameters) not found on bean: 
test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]

Message History
---------------------------------------------------------------------------------------------------------------------------------------
RouteId              ProcessorId          Processor                             
                                           Elapsed (ms)
[route1            ] [route1            ] [seda://in                            
                                         ] [      1025]
[route1            ] [choice1           ] [when[simple{Simple: 
${headers.bean.isEmpty()}}]choice[]                       ] [        33]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------
org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed to invoke 
method: isEmpty() on null due to: 
org.apache.camel.component.bean.MethodNotFoundException: Method with name: 
isEmpty() (with no parameters) not found on bean: 
test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]
        at 
org.apache.camel.language.bean.BeanExpression$OgnlInvokeProcessor.process(BeanExpression.java:327)
        at 
org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:115)
        at 
org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:139)
        at 
org.apache.camel.model.language.ExpressionDefinition.evaluate(ExpressionDefinition.java:126)
        at 
org.apache.camel.model.language.ExpressionDefinition.evaluate(ExpressionDefinition.java:118)
        at 
org.apache.camel.builder.ExpressionBuilder$KeyedOgnlExpressionAdapter.evaluate(ExpressionBuilder.java:2490)
        at 
org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:36)
        at 
org.apache.camel.support.ExpressionSupport.matches(ExpressionSupport.java:32)
        at 
org.apache.camel.util.ExpressionToPredicateAdapter.matches(ExpressionToPredicateAdapter.java:35)
        at org.apache.camel.builder.SimpleBuilder.matches(SimpleBuilder.java:85)
        at 
org.apache.camel.processor.FilterProcessor.matches(FilterProcessor.java:65)
        at 
org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:93)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:541)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:198)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:198)
        at 
org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:298)
        at 
org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:207)
        at 
org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:154)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.camel.component.bean.MethodNotFoundException: Method with 
name: isEmpty() (with no parameters) not found on bean: 
test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]
        at 
org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:273)
        at 
org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:189)
        at 
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:160)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109)
        at 
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:69)
        at 
org.apache.camel.language.bean.BeanExpression$InvokeProcessor.process(BeanExpression.java:212)
        at 
org.apache.camel.language.bean.BeanExpression$OgnlInvokeProcessor.process(BeanExpression.java:323)
        ... 20 common frames omitted
22:35:38.070 [Camel (camel-1) thread #0 - seda://in] WARN 
org.apache.camel.component.seda.SedaConsumer - Error processing exchange. 
Exchange[]. Caused by: 
[org.apache.camel.language.bean.RuntimeBeanExpressionException - Failed to 
invoke method: isEmpty() on null due to: 
org.apache.camel.component.bean.MethodNotFoundException: Method with name: 
isEmpty() (with no parameters) not found on bean: 
test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]]
org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed to invoke 
method: isEmpty() on null due to: 
org.apache.camel.component.bean.MethodNotFoundException: Method with name: 
isEmpty() (with no parameters) not found on bean: 
test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]
        at 
org.apache.camel.language.bean.BeanExpression$OgnlInvokeProcessor.process(BeanExpression.java:327)
        at 
org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:115)
        at 
org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:139)
        at 
org.apache.camel.model.language.ExpressionDefinition.evaluate(ExpressionDefinition.java:126)
        at 
org.apache.camel.model.language.ExpressionDefinition.evaluate(ExpressionDefinition.java:118)
        at 
org.apache.camel.builder.ExpressionBuilder$KeyedOgnlExpressionAdapter.evaluate(ExpressionBuilder.java:2490)
        at 
org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:36)
        at 
org.apache.camel.support.ExpressionSupport.matches(ExpressionSupport.java:32)
        at 
org.apache.camel.util.ExpressionToPredicateAdapter.matches(ExpressionToPredicateAdapter.java:35)
        at org.apache.camel.builder.SimpleBuilder.matches(SimpleBuilder.java:85)
        at 
org.apache.camel.processor.FilterProcessor.matches(FilterProcessor.java:65)
        at 
org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:93)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:541)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:198)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:198)
        at 
org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:298)
        at 
org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:207)
        at 
org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:154)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.camel.component.bean.MethodNotFoundException: Method with 
name: isEmpty() (with no parameters) not found on bean: 
test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]
        at 
org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:273)
        at 
org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:189)
        at 
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:160)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109)
        at 
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:69)
        at 
org.apache.camel.language.bean.BeanExpression$InvokeProcessor.process(BeanExpression.java:212)
        at 
org.apache.camel.language.bean.BeanExpression$OgnlInvokeProcessor.process(BeanExpression.java:323)
        ... 20 common frames omitted
{noformat}

This is a simplified example, a real example are 
java.util.LinkedHashSet#isEmpty and isEmpty methods of guava collection classes.

  was:
After updating from 2.18.3 to 2.19.0 this test fails:

{code:java}
package test;

import org.apache.camel.EndpointInject;
import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.ExchangeBuilder;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.junit.Test;

public class MethodNotFoundExceptionTestSimplified extends CamelTestSupport {

    public static interface InterfaceEmpty {
        boolean isEmpty();
    }

    public static class SuperClazz {
        public boolean isEmpty() {
            return true;
        }
    }

    public static class Clazz extends SuperClazz implements InterfaceEmpty {
    }

    public static class MethodNotFoundExceptionRoute extends RouteBuilder {

        @Override
        public void configure() throws Exception {
            
from("seda:in").choice().when(simple("${headers.bean.isEmpty()}")).to("mock:out");
        }
    }

    @Produce(uri = "seda:in")
    private ProducerTemplate in;

    @EndpointInject(uri = "mock:out")
    private MockEndpoint out;

    @Override
    protected RouteBuilder createRouteBuilder() {
        return new MethodNotFoundExceptionRoute();
    }

    @Test
    public void methodNotFoundExceptionException() throws Exception {
        out.expectedMessageCount(1);

        ExchangeBuilder exchangeBuilder = new 
ExchangeBuilder(context).withHeader("bean", new Clazz());
        in.send(exchangeBuilder.build());

        out.assertIsSatisfied();
    }
}{code}

with:

{noformat}
22:35:38.069 [Camel (camel-1) thread #0 - seda://in] ERROR 
org.apache.camel.processor.DefaultErrorHandler - Failed delivery for 
(MessageId: ID-Redhawk-THINK-50332-1494275736472-0-3 on ExchangeId: 
ID-Redhawk-THINK-50332-1494275736472-0-4). Exhausted after delivery attempt: 1 
caught: org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed 
to invoke method: isEmpty() on null due to: 
org.apache.camel.component.bean.MethodNotFoundException: Method with name: 
isEmpty() (with no parameters) not found on bean: 
test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]

Message History
---------------------------------------------------------------------------------------------------------------------------------------
RouteId              ProcessorId          Processor                             
                                           Elapsed (ms)
[route1            ] [route1            ] [seda://in                            
                                         ] [      1025]
[route1            ] [choice1           ] [when[simple{Simple: 
${headers.bean.isEmpty()}}]choice[]                       ] [        33]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------
org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed to invoke 
method: isEmpty() on null due to: 
org.apache.camel.component.bean.MethodNotFoundException: Method with name: 
isEmpty() (with no parameters) not found on bean: 
test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]
        at 
org.apache.camel.language.bean.BeanExpression$OgnlInvokeProcessor.process(BeanExpression.java:327)
        at 
org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:115)
        at 
org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:139)
        at 
org.apache.camel.model.language.ExpressionDefinition.evaluate(ExpressionDefinition.java:126)
        at 
org.apache.camel.model.language.ExpressionDefinition.evaluate(ExpressionDefinition.java:118)
        at 
org.apache.camel.builder.ExpressionBuilder$KeyedOgnlExpressionAdapter.evaluate(ExpressionBuilder.java:2490)
        at 
org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:36)
        at 
org.apache.camel.support.ExpressionSupport.matches(ExpressionSupport.java:32)
        at 
org.apache.camel.util.ExpressionToPredicateAdapter.matches(ExpressionToPredicateAdapter.java:35)
        at org.apache.camel.builder.SimpleBuilder.matches(SimpleBuilder.java:85)
        at 
org.apache.camel.processor.FilterProcessor.matches(FilterProcessor.java:65)
        at 
org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:93)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:541)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:198)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:198)
        at 
org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:298)
        at 
org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:207)
        at 
org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:154)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.camel.component.bean.MethodNotFoundException: Method with 
name: isEmpty() (with no parameters) not found on bean: 
test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]
        at 
org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:273)
        at 
org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:189)
        at 
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:160)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109)
        at 
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:69)
        at 
org.apache.camel.language.bean.BeanExpression$InvokeProcessor.process(BeanExpression.java:212)
        at 
org.apache.camel.language.bean.BeanExpression$OgnlInvokeProcessor.process(BeanExpression.java:323)
        ... 20 common frames omitted
22:35:38.070 [Camel (camel-1) thread #0 - seda://in] WARN 
org.apache.camel.component.seda.SedaConsumer - Error processing exchange. 
Exchange[]. Caused by: 
[org.apache.camel.language.bean.RuntimeBeanExpressionException - Failed to 
invoke method: isEmpty() on null due to: 
org.apache.camel.component.bean.MethodNotFoundException: Method with name: 
isEmpty() (with no parameters) not found on bean: 
test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]]
org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed to invoke 
method: isEmpty() on null due to: 
org.apache.camel.component.bean.MethodNotFoundException: Method with name: 
isEmpty() (with no parameters) not found on bean: 
test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]
        at 
org.apache.camel.language.bean.BeanExpression$OgnlInvokeProcessor.process(BeanExpression.java:327)
        at 
org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:115)
        at 
org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:139)
        at 
org.apache.camel.model.language.ExpressionDefinition.evaluate(ExpressionDefinition.java:126)
        at 
org.apache.camel.model.language.ExpressionDefinition.evaluate(ExpressionDefinition.java:118)
        at 
org.apache.camel.builder.ExpressionBuilder$KeyedOgnlExpressionAdapter.evaluate(ExpressionBuilder.java:2490)
        at 
org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:36)
        at 
org.apache.camel.support.ExpressionSupport.matches(ExpressionSupport.java:32)
        at 
org.apache.camel.util.ExpressionToPredicateAdapter.matches(ExpressionToPredicateAdapter.java:35)
        at org.apache.camel.builder.SimpleBuilder.matches(SimpleBuilder.java:85)
        at 
org.apache.camel.processor.FilterProcessor.matches(FilterProcessor.java:65)
        at 
org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:93)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:541)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:198)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:198)
        at 
org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:298)
        at 
org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:207)
        at 
org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:154)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.camel.component.bean.MethodNotFoundException: Method with 
name: isEmpty() (with no parameters) not found on bean: 
test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]
        at 
org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:273)
        at 
org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:189)
        at 
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:160)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109)
        at 
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:69)
        at 
org.apache.camel.language.bean.BeanExpression$InvokeProcessor.process(BeanExpression.java:212)
        at 
org.apache.camel.language.bean.BeanExpression$OgnlInvokeProcessor.process(BeanExpression.java:323)
        ... 20 common frames omitted
{noformat}

This is a simplified example, a real example are java.util.LinkedHashSet and 
guava collection classes.


> Simple Language: MethodNotFoundException when calling interface method 
> implemented by super class
> -------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-11240
>                 URL: https://issues.apache.org/jira/browse/CAMEL-11240
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.19.0
>            Reporter: Pascal Schumacher
>
> After updating from 2.18.3 to 2.19.0 this test fails:
> {code:java}
> package test;
> import org.apache.camel.EndpointInject;
> import org.apache.camel.Produce;
> import org.apache.camel.ProducerTemplate;
> import org.apache.camel.builder.ExchangeBuilder;
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.component.mock.MockEndpoint;
> import org.apache.camel.test.junit4.CamelTestSupport;
> import org.junit.Test;
> public class MethodNotFoundExceptionTestSimplified extends CamelTestSupport {
>     public static interface InterfaceEmpty {
>         boolean isEmpty();
>     }
>     public static class SuperClazz {
>         public boolean isEmpty() {
>             return true;
>         }
>     }
>     public static class Clazz extends SuperClazz implements InterfaceEmpty {
>     }
>     public static class MethodNotFoundExceptionRoute extends RouteBuilder {
>         @Override
>         public void configure() throws Exception {
>             
> from("seda:in").choice().when(simple("${headers.bean.isEmpty()}")).to("mock:out");
>         }
>     }
>     @Produce(uri = "seda:in")
>     private ProducerTemplate in;
>     @EndpointInject(uri = "mock:out")
>     private MockEndpoint out;
>     @Override
>     protected RouteBuilder createRouteBuilder() {
>         return new MethodNotFoundExceptionRoute();
>     }
>     @Test
>     public void methodNotFoundExceptionException() throws Exception {
>         out.expectedMessageCount(1);
>         ExchangeBuilder exchangeBuilder = new 
> ExchangeBuilder(context).withHeader("bean", new Clazz());
>         in.send(exchangeBuilder.build());
>         out.assertIsSatisfied();
>     }
> }{code}
> with:
> {noformat}
> 22:35:38.069 [Camel (camel-1) thread #0 - seda://in] ERROR 
> org.apache.camel.processor.DefaultErrorHandler - Failed delivery for 
> (MessageId: ID-Redhawk-THINK-50332-1494275736472-0-3 on ExchangeId: 
> ID-Redhawk-THINK-50332-1494275736472-0-4). Exhausted after delivery attempt: 
> 1 caught: org.apache.camel.language.bean.RuntimeBeanExpressionException: 
> Failed to invoke method: isEmpty() on null due to: 
> org.apache.camel.component.bean.MethodNotFoundException: Method with name: 
> isEmpty() (with no parameters) not found on bean: 
> test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
> test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]
> Message History
> ---------------------------------------------------------------------------------------------------------------------------------------
> RouteId              ProcessorId          Processor                           
>                                              Elapsed (ms)
> [route1            ] [route1            ] [seda://in                          
>                                            ] [      1025]
> [route1            ] [choice1           ] [when[simple{Simple: 
> ${headers.bean.isEmpty()}}]choice[]                       ] [        33]
> Stacktrace
> ---------------------------------------------------------------------------------------------------------------------------------------
> org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed to 
> invoke method: isEmpty() on null due to: 
> org.apache.camel.component.bean.MethodNotFoundException: Method with name: 
> isEmpty() (with no parameters) not found on bean: 
> test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
> test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]
>       at 
> org.apache.camel.language.bean.BeanExpression$OgnlInvokeProcessor.process(BeanExpression.java:327)
>       at 
> org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:115)
>       at 
> org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:139)
>       at 
> org.apache.camel.model.language.ExpressionDefinition.evaluate(ExpressionDefinition.java:126)
>       at 
> org.apache.camel.model.language.ExpressionDefinition.evaluate(ExpressionDefinition.java:118)
>       at 
> org.apache.camel.builder.ExpressionBuilder$KeyedOgnlExpressionAdapter.evaluate(ExpressionBuilder.java:2490)
>       at 
> org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:36)
>       at 
> org.apache.camel.support.ExpressionSupport.matches(ExpressionSupport.java:32)
>       at 
> org.apache.camel.util.ExpressionToPredicateAdapter.matches(ExpressionToPredicateAdapter.java:35)
>       at org.apache.camel.builder.SimpleBuilder.matches(SimpleBuilder.java:85)
>       at 
> org.apache.camel.processor.FilterProcessor.matches(FilterProcessor.java:65)
>       at 
> org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:93)
>       at 
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:541)
>       at 
> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:198)
>       at 
> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:198)
>       at 
> org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:298)
>       at 
> org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:207)
>       at 
> org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:154)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.camel.component.bean.MethodNotFoundException: Method 
> with name: isEmpty() (with no parameters) not found on bean: 
> test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
> test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]
>       at 
> org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:273)
>       at 
> org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:189)
>       at 
> org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:160)
>       at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109)
>       at 
> org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:69)
>       at 
> org.apache.camel.language.bean.BeanExpression$InvokeProcessor.process(BeanExpression.java:212)
>       at 
> org.apache.camel.language.bean.BeanExpression$OgnlInvokeProcessor.process(BeanExpression.java:323)
>       ... 20 common frames omitted
> 22:35:38.070 [Camel (camel-1) thread #0 - seda://in] WARN 
> org.apache.camel.component.seda.SedaConsumer - Error processing exchange. 
> Exchange[]. Caused by: 
> [org.apache.camel.language.bean.RuntimeBeanExpressionException - Failed to 
> invoke method: isEmpty() on null due to: 
> org.apache.camel.component.bean.MethodNotFoundException: Method with name: 
> isEmpty() (with no parameters) not found on bean: 
> test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
> test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]]
> org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed to 
> invoke method: isEmpty() on null due to: 
> org.apache.camel.component.bean.MethodNotFoundException: Method with name: 
> isEmpty() (with no parameters) not found on bean: 
> test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
> test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]
>       at 
> org.apache.camel.language.bean.BeanExpression$OgnlInvokeProcessor.process(BeanExpression.java:327)
>       at 
> org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:115)
>       at 
> org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:139)
>       at 
> org.apache.camel.model.language.ExpressionDefinition.evaluate(ExpressionDefinition.java:126)
>       at 
> org.apache.camel.model.language.ExpressionDefinition.evaluate(ExpressionDefinition.java:118)
>       at 
> org.apache.camel.builder.ExpressionBuilder$KeyedOgnlExpressionAdapter.evaluate(ExpressionBuilder.java:2490)
>       at 
> org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:36)
>       at 
> org.apache.camel.support.ExpressionSupport.matches(ExpressionSupport.java:32)
>       at 
> org.apache.camel.util.ExpressionToPredicateAdapter.matches(ExpressionToPredicateAdapter.java:35)
>       at org.apache.camel.builder.SimpleBuilder.matches(SimpleBuilder.java:85)
>       at 
> org.apache.camel.processor.FilterProcessor.matches(FilterProcessor.java:65)
>       at 
> org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:93)
>       at 
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:541)
>       at 
> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:198)
>       at 
> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:198)
>       at 
> org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:298)
>       at 
> org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:207)
>       at 
> org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:154)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.camel.component.bean.MethodNotFoundException: Method 
> with name: isEmpty() (with no parameters) not found on bean: 
> test.MethodNotFoundExceptionTestSimplified$Clazz@61a86839 of type: 
> test.MethodNotFoundExceptionTestSimplified$Clazz. Exchange[]
>       at 
> org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:273)
>       at 
> org.apache.camel.component.bean.BeanInfo.createInvocation(BeanInfo.java:189)
>       at 
> org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:160)
>       at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109)
>       at 
> org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:69)
>       at 
> org.apache.camel.language.bean.BeanExpression$InvokeProcessor.process(BeanExpression.java:212)
>       at 
> org.apache.camel.language.bean.BeanExpression$OgnlInvokeProcessor.process(BeanExpression.java:323)
>       ... 20 common frames omitted
> {noformat}
> This is a simplified example, a real example are 
> java.util.LinkedHashSet#isEmpty and isEmpty methods of guava collection 
> classes.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to