[ 
https://issues.apache.org/jira/browse/CAMEL-23657?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen reassigned CAMEL-23657:
-----------------------------------

    Assignee: Claus Ibsen

> 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.x
>
>
> 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)

Reply via email to