[
https://issues.apache.org/jira/browse/CAMEL-23656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-23656:
--------------------------------
Component/s: camel-jbang
> 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
--
This message was sent by Atlassian Jira
(v8.20.10#820010)