You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Olaf <om...@gmail.com> on 2013/10/22 21:56:39 UTC
error while testing: duplicate id detected
Hello,
I have a simple route, which works fine
from("file://data/inbox?noop=true")
.beanRef("someProcessor")
.process(new SomeOtherProcessor()).id("otherProcessor")
.to("log:foo").id("loggingFoo");
But testing doesn't work. As one can see, I don't have duplicate id's.
org.apache.camel.FailedToStartRouteException: Failed to start route route1
because of duplicate id detected: otherProcessor. Please correct ids to be
unique among all your routes.
at
org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:759)
at
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1914)
at
org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1670)
at
org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1544)
at
org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:179)
at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1512)
at
org.apache.camel.test.junit4.CamelTestSupport.startCamelContext(CamelTestSupport.java:476)
at
org.apache.camel.test.junit4.CamelTestSupport.doSetUp(CamelTestSupport.java:310)
at
org.apache.camel.test.junit4.CamelTestSupport.setUp(CamelTestSupport.java:216)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:123)
at
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:104)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
at
org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
at
org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175)
at
org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:107)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68)
###############################################################
public class AppTest extends CamelSpringTestSupport {
@Override
public String isMockEndpoints() {return "*";}
@Test()
public void testAppRoute() throws Exception {
MockEndpoint to = getMockEndpoint("mock:log:foo");
to.setExpectedMessageCount(1);
template.sendBodyAndHeader("file://data/inbox", "test",
Exchange.FILE_NAME, "test.txt");
Thread.sleep(2000);
to.assertIsSatisfied();
}
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new App.AppRoute();
}
@Override
protected AbstractApplicationContext createApplicationContext() {
return new
ClassPathXmlApplicationContext("META-INF/spring/camel-context.xml");
}
}
###########################
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd">
<camelContext xmlns="http://camel.apache.org/schema/spring">
<routeBuilder ref="appRoute" />
</camelContext>
<bean id="appRoute" class="com.cameltest.mavenproject1.App$AppRoute" />
<bean id="someProcessor"
class="com.cameltest.mavenproject1.SomeProcessor" />
</beans>
--
View this message in context: http://camel.465427.n5.nabble.com/error-while-testing-duplicate-id-detected-tp5742041.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: error while testing: duplicate id detected
Posted by Olaf <om...@gmail.com>.
Oh, no...
Thank you very much!
--
View this message in context: http://camel.465427.n5.nabble.com/error-while-testing-duplicate-id-detected-tp5742041p5742102.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: error while testing: duplicate id detected
Posted by som <so...@yahoo.com>.
I recently upgraded from 2.10.3 to 2.14.1, I am getting the below error
I have two config files- DTSSpring-config.xml and camel-config.xml
I found there are 10 beans present in above both, I deleted the file
DTSSpring-config.xml, Built the Web project and published to the tomcat7 in
Eclipse and out side of the eclipse in standalone tomcat - Still I see the
duplicate Id error below.
Error trace
-------------
org.apache.camel.FailedToStartRouteException: Failed to start route
DTSSpring-attached-email-handler because of duplicate id detected:
DTSSpring-attached-email-handler. Please correct ids to be unique among all
your routes.
at
org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:794)
at
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:2174)
at
org.apache.camel.impl.DefaultCamelContext.addRouteDefinitions(DefaultCamelContext.java:739)
at com.wellsfargo.first.utility.RouteLoader.loadRoute(Unknown
Source)
My route extract is as below:
---------------------------------
<route id="DTS-Spring-upload-file-cron-route" trace="true">
<setHeader
headerName="BatchDir"><constant>/dtsspring/batch/</constant></setHeader>
<from
uri="quartz://report?cron=0+0+8,12,16+*+*+?delete=true&exclusiveReadLockStrategy=#ClusteredLockStrategy&readLockTimeout=1&filter=#CSVFilter&autoCreate=true&maxMessagesPerPoll=100"/>
<setHeader
headerName="CamelFileAbsolutePath"><constant>/dtsspring/staging/test.csv</constant></setHeader>
<doTry>
<process ref="DTSSpringCSVProcessor"/>
<process ref="ExtractTrailingETL" />
<doCatch>
<exception>java.lang.Exception</exception>
</doCatch>
</doTry>
Please let me know any this else needed for your analysis.
Som
--
View this message in context: http://camel.465427.n5.nabble.com/error-while-testing-duplicate-id-detected-tp5742041p5762071.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: error while testing: duplicate id detected
Posted by Claus Ibsen <cl...@gmail.com>.
Hi
You add the routes 2 times with both in the spring XML file using
<routeBuilderRef> and
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new App.AppRoute();
}
On Tue, Oct 22, 2013 at 9:56 PM, Olaf <om...@gmail.com> wrote:
> Hello,
>
> I have a simple route, which works fine
>
> from("file://data/inbox?noop=true")
> .beanRef("someProcessor")
> .process(new SomeOtherProcessor()).id("otherProcessor")
> .to("log:foo").id("loggingFoo");
>
> But testing doesn't work. As one can see, I don't have duplicate id's.
>
> org.apache.camel.FailedToStartRouteException: Failed to start route route1
> because of duplicate id detected: otherProcessor. Please correct ids to be
> unique among all your routes.
> at
> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:759)
> at
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1914)
> at
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1670)
> at
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1544)
> at
> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:179)
> at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
> at
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1512)
> at
> org.apache.camel.test.junit4.CamelTestSupport.startCamelContext(CamelTestSupport.java:476)
> at
> org.apache.camel.test.junit4.CamelTestSupport.doSetUp(CamelTestSupport.java:310)
> at
> org.apache.camel.test.junit4.CamelTestSupport.setUp(CamelTestSupport.java:216)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
> at
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> at
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> at
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:123)
> at
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:104)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at
> org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
> at
> org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
> at
> org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175)
> at
> org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:107)
> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68)
> ###############################################################
>
> public class AppTest extends CamelSpringTestSupport {
>
>
> @Override
> public String isMockEndpoints() {return "*";}
>
> @Test()
> public void testAppRoute() throws Exception {
> MockEndpoint to = getMockEndpoint("mock:log:foo");
> to.setExpectedMessageCount(1);
> template.sendBodyAndHeader("file://data/inbox", "test",
> Exchange.FILE_NAME, "test.txt");
> Thread.sleep(2000);
> to.assertIsSatisfied();
> }
>
> @Override
> protected RouteBuilder createRouteBuilder() throws Exception {
> return new App.AppRoute();
> }
>
> @Override
> protected AbstractApplicationContext createApplicationContext() {
> return new
> ClassPathXmlApplicationContext("META-INF/spring/camel-context.xml");
> }
>
> }
>
> ###########################
>
> <beans xmlns="http://www.springframework.org/schema/beans"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd
> http://camel.apache.org/schema/spring
> http://camel.apache.org/schema/spring/camel-spring.xsd">
>
> <camelContext xmlns="http://camel.apache.org/schema/spring">
> <routeBuilder ref="appRoute" />
> </camelContext>
> <bean id="appRoute" class="com.cameltest.mavenproject1.App$AppRoute" />
> <bean id="someProcessor"
> class="com.cameltest.mavenproject1.SomeProcessor" />
>
> </beans>
>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/error-while-testing-duplicate-id-detected-tp5742041.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
--
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cibsen@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen