Hi, I try to setup a Camel (version 2.3.0) route involving custom components using Spring. My Spring xml looks like this:
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring" > <route> <from uri="direct://x"/> <to uri="foo://x"/> </route> </camelContext> where "foo" is referring to a custom component which is auto-registered using the META-INF/services... approach. The custom component is rather simple and basically just extends DefaultComponent by creating the correct type of endpoint. When starting the context I get an exception [1] saying that the "camelContext must be specified". With a default component (say, "mock") things are working. What could I be missing? Thanks in advance for your help, and best regards, Bernd. [1] stack trace: org.apache.camel.RuntimeCamelException: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: >>> To[foo://x] <<< in route: Route[[From[direct://x]] -> [To[foo://x because of camelContext must be specified at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1111) at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:103) at org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:665) at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78) at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76) at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:736) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:383) at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140) at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84) at wisnetgrid.adapter.connectors.unicore.TestSpringConfig.test1(TestSpringConfig.java:28) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:599) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route1 at: >>> To[foo://x] <<< in route: Route[[From[direct://x]] -> [To[foo://x because of camelContext must be specified at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:720) at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:138) at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:545) at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1209) at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1107) at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1037) at org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:164) at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:56) at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:912) at org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:203) at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:101) ... 28 more Caused by: java.lang.IllegalArgumentException: camelContext must be specified at org.apache.camel.util.ObjectHelper.notNull(ObjectHelper.java:260) at org.apache.camel.processor.SendProcessor.<init>(SendProcessor.java:51) at org.apache.camel.processor.SendProcessor.<init>(SendProcessor.java:55) at org.apache.camel.model.SendDefinition.createProcessor(SendDefinition.java:58) at org.apache.camel.model.ToDefinition.createProcessor(ToDefinition.java:91) at org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:365) at org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:161) at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:717) ... 38 more -- View this message in context: http://camel.465427.n5.nabble.com/Spring-route-config-involving-custom-components-tp510448p510448.html Sent from the Camel - Users mailing list archive at Nabble.com.