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

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

Hi [~davsclaus], my take 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. Hence route definition comparison has to include Camel 
COntext ID and URI IR 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
>            Priority: Major
>         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