hi - this looks obvious but I am not sure if Camel has any restrictions in
using the bean which is defined with parent and as singleton. I m using
Camel 2.12.2 and this works all fine if I use a simple class(without any
superclass) with a method in it.
Also I do have AOP's defined on certain methods inside this bean, but I am
creating a seperate method in the class to use in Camel route.
Below exception is what I get when I use a method from such a bean, any
suggestion would be really helpful. thanks.
Camel Context -
<camelContext id="camelRoute" xmlns="http://camel.apache.org/schema/spring">
<routeContextRef ref="Route1"/>
<interceptFrom>
<log message="INTERCEPTOR #######." />
<bean ref="testBean" method="camel1" />
</interceptFrom>
</camelContext>
Bean Definition -
<bean id="testBean" class="com.test.project" parent="projectImpl"
scope="singleton">
<property name="prop1">
<ref bean="prop1"/>
</property>
<property name="prop2">
<ref bean="prop2"/>
</property>
</bean>
Class -
public class project extends projectImpl implements
inteface1, interface2, interface3 {
public synchronized void camel1(Exchange ex) {
System.out.println("test ... ");
Exception -
Caused by: org.apache.camel.RuntimeCamelException:
org.apache.camel.component.bean.MethodNotFoundException: Method with name:
camel1 not found on bean: com.test.project [ at ] 14363d8 of type:
com.sun.proxy.$Proxy52
at
org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1352)
at
org.apache.camel.model.BeanDefinition.createProcessor(BeanDefinition.java:270)
at
org.apache.camel.model.ProcessorDefinition.createProcessor(ProcessorDefinition.java:460)
at
org.apache.camel.model.ProcessorDefinition.createOutputsProcessor(ProcessorDefinition.java:429)
at
org.apache.camel.model.ProcessorDefinition.createOutputsProcessor(ProcessorDefinition.java:159)
at
org.apache.camel.model.ProcessorDefinition.createChildProcessor(ProcessorDefinition.java:178)
at
org.apache.camel.model.InterceptFromDefinition.createProcessor(InterceptFromDefinition.java:92)
at
org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:500)
at
org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:213)
at
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:909)
... 32 more
Caused by: org.apache.camel.component.bean.MethodNotFoundException: Method
with name: camel1 not found on bean: com.test.project [ at ] 14363d8 of type:
com.sun.proxy.$Proxy52
using the bean which is defined with parent and as singleton. I m using
Camel 2.12.2 and this works all fine if I use a simple class(without any
superclass) with a method in it.
Also I do have AOP's defined on certain methods inside this bean, but I am
creating a seperate method in the class to use in Camel route.
Below exception is what I get when I use a method from such a bean, any
suggestion would be really helpful. thanks.
Camel Context -
<camelContext id="camelRoute" xmlns="http://camel.apache.org/schema/spring">
<routeContextRef ref="Route1"/>
<interceptFrom>
<log message="INTERCEPTOR #######." />
<bean ref="testBean" method="camel1" />
</interceptFrom>
</camelContext>
Bean Definition -
<bean id="testBean" class="com.test.project" parent="projectImpl"
scope="singleton">
<property name="prop1">
<ref bean="prop1"/>
</property>
<property name="prop2">
<ref bean="prop2"/>
</property>
</bean>
Class -
public class project extends projectImpl implements
inteface1, interface2, interface3 {
public synchronized void camel1(Exchange ex) {
System.out.println("test ... ");
Exception -
Caused by: org.apache.camel.RuntimeCamelException:
org.apache.camel.component.bean.MethodNotFoundException: Method with name:
camel1 not found on bean: com.test.project [ at ] 14363d8 of type:
com.sun.proxy.$Proxy52
at
org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1352)
at
org.apache.camel.model.BeanDefinition.createProcessor(BeanDefinition.java:270)
at
org.apache.camel.model.ProcessorDefinition.createProcessor(ProcessorDefinition.java:460)
at
org.apache.camel.model.ProcessorDefinition.createOutputsProcessor(ProcessorDefinition.java:429)
at
org.apache.camel.model.ProcessorDefinition.createOutputsProcessor(ProcessorDefinition.java:159)
at
org.apache.camel.model.ProcessorDefinition.createChildProcessor(ProcessorDefinition.java:178)
at
org.apache.camel.model.InterceptFromDefinition.createProcessor(InterceptFromDefinition.java:92)
at
org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:500)
at
org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:213)
at
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:909)
... 32 more
Caused by: org.apache.camel.component.bean.MethodNotFoundException: Method
with name: camel1 not found on bean: com.test.project [ at ] 14363d8 of type:
com.sun.proxy.$Proxy52