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

Claus Ibsen resolved CAMEL-23656.
---------------------------------
    Resolution: Fixed

> Add route topology service to compute inter-route relationships
> ---------------------------------------------------------------
>
>                 Key: CAMEL-23656
>                 URL: https://issues.apache.org/jira/browse/CAMEL-23656
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-core, camel-jbang
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>            Priority: Major
>             Fix For: 4.21.0
>
>
> Camel has the route-structure dev console that shows the internal structure 
> of individual routes (the EIP tree). However, there is no built-in feature to 
> show the inter-route topology — how routes connect to each other through 
> shared endpoints.
> For example:
> - route1 sends to direct:process, which is consumed by route2
> - route2 sends to kafka:cheese, which is also consumed by route3
> - route4 starts from timer:heartbeat (a trigger entry point with no inbound 
> connection)
> - a route may even call itself via a content-based router branch (cycles)
> This adds a RouteTopologyService as an SPI interface in camel-api with an 
> implementation in camel-core-engine. The service computes the route 
> dependency graph by analyzing route definitions and matching endpoints across 
> routes.
> Endpoint matching uses scheme:context-path (stripping query parameters), so 
> kafka:cheese?brokers=a and kafka:cheese?groupId=b are considered the same 
> destination.
> Connection types:
> - Internal: direct, seda — route-to-route links via matching name
> - External: kafka, jms, and other remote components — shared endpoint links
> - Triggers: timer, quartz, cron, scheduler — entry points with no inbound 
> edges
> The service is accessible from:
> - Java API (via CamelContext plugin)
> - Dev console (new route-topology console)
> - JMX (via ManagedCamelContext)
> - Camel JBang CLI command (text-based topology summary, non-diagram view)
> Follow-up work (separate tickets):
> - REST DSL to direct route linking
> - Route templates and kamelets
> - Enhanced component metadata for query-parameter-based destination matching
> - Integration with camel-diagram renderer
> - MCP tool in camel-jbang-mcp for AI agents to query route topology



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to