Hi You need to have a bean with the processor in the spring XML file
<bean id="myProcessor" class="..."/> It cannot be define in the <routes> XML file you load. It has to be available up-front when using Spring applications. If you use OSGi then you can enlist services on-the-fly. On Sat, Jan 15, 2011 at 10:40 AM, bfischer <[email protected]> wrote: > > Hi Claus, > > I'm glad that I finally could explain the topic in right way and many thanks > for your fast reaction! > > > > Unfortunately I had to wait for nightly build because I wasn't able to build > it from sources (got a strange compile error - don't know what is wrong in > my local environment). > > Additionally I improved my tests with your new test cases > (barInterceptorRoute.xml and barOnExceptionRoute.xml) - now having four > tests steps. > > But it still don't work. > > Testing a trancacted route fails with sme error message (see my previous > post). > > Testing "barOnExceptionRoute.xml" leads in error in my environment too. But > this is may be because I had to adopt it a little bit (no jndi environment > -> added myProcessor to spring configuration) and so it can be my error. > Error message thrown > > org.apache.camel.FailedToCreateRouteException: Failed to create route bar > at: >>> process[ref:myProcessor] <<< in route: Route[[From[direct:bar]] -> > [OnException[[class java.lang.Ex... because of registry entry called > myProcessor must be specified on: process[ref:myProcessor] > at > org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:759) > at > org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:160) > at > org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:698) > at > org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1621) > at > org.apache.camel.impl.DefaultCamelContext.addRouteDefinitions(DefaultCamelContext.java:649) > at > com.gk_software.camel.testRouteLoading.TestCase.loadAdditionalRoute(TestCase.java:131) > at > com.gk_software.camel.testRouteLoading.TestCase.test04(TestCase.java:99) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:592) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) > at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) > at org.junit.runners.ParentRunner.run(ParentRunner.java:236) > at > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49) > at > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) > Caused by: java.lang.IllegalArgumentException: registry entry called > myProcessor must be specified on: process[ref:myProcessor] > at org.apache.camel.util.ObjectHelper.notNull(ObjectHelper.java:293) > at > org.apache.camel.model.ProcessDefinition.createProcessor(ProcessDefinition.java:87) > at > org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:403) > at > org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:174) > at > org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:756) > ... 30 more > > I'll work on this topic on monday - rest of weekend is reserved for family. > If wanted I can pimp up my test cases a little bit and "post" it ;-) > > > > ----- > Bernd Fischer > GK Software AG > [email protected] > -- > View this message in context: > http://camel.465427.n5.nabble.com/Loading-routes-from-XML-files-with-Camel-2-4-0-tp3340082p3342449.html > Sent from the Camel - Users mailing list archive at Nabble.com. > -- Claus Ibsen ----------------- FuseSource Email: [email protected] Web: http://fusesource.com Twitter: davsclaus Blog: http://davsclaus.blogspot.com/ Author of Camel in Action: http://www.manning.com/ibsen/
