[
https://issues.apache.org/jira/browse/CAMEL-23657?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-23657.
---------------------------------
Resolution: Fixed
> Enhance component metadata to mark destination-identity query parameters for
> topology matching
> ----------------------------------------------------------------------------------------------
>
> Key: CAMEL-23657
> URL: https://issues.apache.org/jira/browse/CAMEL-23657
> Project: Camel
> Issue Type: Improvement
> Components: camel-core
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Minor
> Fix For: 4.21.0
>
>
> The route topology service (CAMEL-23656) matches endpoints across routes
> using scheme:context-path, stripping all query parameters. This works for the
> vast majority of components (88%) where the destination identity (queue name,
> topic name, bucket, etc.) is in the URI context path.
> However, some components encode the destination identity in a required query
> parameter rather than the path. For these components, two URIs with the same
> scheme:context-path but different query parameter values actually point to
> different destinations, and topology matching would incorrectly consider them
> the same.
> This ticket proposes enhancing the component metadata (the component JSON
> schema) to allow marking specific query parameters as "destination identity"
> parameters. The route topology service can then include those marked
> parameters when building canonical URIs for matching.
> Components where destination is in a query parameter (not the path):
> ||Scheme||Path contains||Destination query param||
> |couchbase|host:port|bucket (required)|
> |mongodb|connection bean ref|database + collection|
> |mongodb-gridfs|connection bean ref|database (required)|
> |spring-rabbitmq|exchange name|routingKey + queues|
> |dapr|operation type|topic|
> |hwcloud-obs|operation type|bucketName|
> |iggy|topic name|streamName|
> Additionally, there are ~12 components (kubernetes-*, web3j) where the path
> identifies the server/cluster rather than the destination, with namespace or
> contract address in query parameters.
> And ~19 components (azure-servicebus, azure-eventhubs, azure-cosmosdb,
> knative, cql, etc.) where path parameters are technically optional but
> usually provided by users.
> This is a follow-up to CAMEL-23656.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)