[ 
https://issues.apache.org/jira/browse/CAMEL-14969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17094880#comment-17094880
 ] 

Nenad Nesovanovic commented on CAMEL-14969:
-------------------------------------------

Hi [~davsclaus], my take is that this is the primary reason that for years 
Camel had issues with running multiple Camel Contexts in the same JVM. Because 
Route Definition objects are compared by reference instead of URI, and each 
Context with have its own autonumbering, you would be much more likely to 
detect duplicates this way, which would cause phantom errors. Hence route 
definition comparison has to include Camel Context ID and URI ID in addition to 
the Route Definition ID, instead of using only Java Object ID as it is done 
currently. Changing this would require significant framework changes, so I 
opted to report this as an issue, instead of fixing it myself.

> Failed to start route [A] because of duplicate id detected: [B]
> ---------------------------------------------------------------
>
>                 Key: CAMEL-14969
>                 URL: https://issues.apache.org/jira/browse/CAMEL-14969
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-spring-boot
>    Affects Versions: 3.2.0
>            Reporter: Nenad Nesovanovic
>            Assignee: Claus Ibsen
>            Priority: Major
>             Fix For: 3.3.0
>
>         Attachments: CAMEL-14969-Eclipse-Project.zip, 
> eclipse1_compare_by_ref.PNG, eclipse2_causes_duplicate.PNG, 
> eclipse3-two-routes.PNG, eclipse4-comparison-conflict.PNG, 
> eclipse5-comparison-conflict.PNG, trace_log1.zip, trace_log2.zip
>
>
> When loading rest definitions via "xml-rests" path defined in property
> {quote}{color:#403294}camel.springboot.xml-rests = 
> classpath:folder-camel/folder-rest/*.xml{color}
> {quote}
> The camel 3.2 fails with error 
> {quote}{color:#de350b}Failed to start route first-test-get-id because of 
> duplicate id detected: first-test-to-id. Please correct ids to be unique 
> among all your routes.{color}
> {quote}
> My rest XML file is defined as
> {{<?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" 
> encoding="UTF-8"?>}}
> {{<rests xmlns="http://camel.apache.org/schema/spring"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"}}
> {{ xsi:schemaLocation="}}
> {{    http://camel.apache.org/schema/spring 
> https://camel.apache.org/schema/spring/camel-spring-3.2.0.xsd}}
> {{    ">}}
> {{ <rest id="id1" path="/test">}}
> {{ <get id="id2" uri="/folderuri">}}
> {color:#de350b}{{ <to id="id3" uri="log:test-nexus-rest" />}}{color}
> {{ </get>}}
> {{ </rest>}}
> {{</rests>}}
> However, when I envelope TO tag in the ROUTE tag, the issue gets resolved
> {{<rest id="id1" path="/test">}}
> {{<get id="id2" uri="/folderuri">}}
> {{{color:#4c9aff}<route id="id4">{color}}}
> {{{color:#de350b}<to id="id3" uri="log:test-nexus-rest" />{color}}}
> {{{color:#4c9aff}</route>{color}}}
> {{</get>}}
> {{</rest>}}
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to