CamelBeanPostProcessor.camelContext cannot be injected if SpringCamelContext is proxied (e.g. AOP) --------------------------------------------------------------------------------------------------
Key: CAMEL-494 URL: https://issues.apache.org/activemq/browse/CAMEL-494 Project: Apache Camel Issue Type: Bug Components: camel-spring Affects Versions: 1.3.0 Reporter: Dean Thompson Because CamelBeanPostProcessor.setCamelContext(SpringCamelContext) takes the class SpringCamelContext as its parameter, bean initialization fails if SpringCamelContext is proxied. The error is as follows: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'camelContext:beanPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type [$Proxy61] to required type [org.apache.camel.spring.SpringCamelContext] for property 'camelContext'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy61] to required type [org.apache.camel.spring.SpringCamelContext] for property 'camelContext': no matching editors or conversion strategy found In my project's Spring conf, we declare <aop:aspectj-autoproxy/>, which causes all Spring beans to be proxied. This triggers the problem shown above. The problem should be reproducible by adding <aop:aspectj-autoproxy/> to any Spring config that uses <camel:camelContext>. The fix will be to separate the interface and class for SpringCamelContext, and use the interface where appropriate. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.