[
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)