davsclaus opened a new pull request, #29599:
URL: https://github.com/apache/camel/pull/29599

   _Claude Code on behalf of davsclaus_
   
   [CAMEL-26823](https://issues.apache.org/jira/browse/CAMEL-26823)
   
   The route topology has an edge for every endpoint a route sends to and 
another route consumes, for any component, with its `connectionType` and 
`kind`. It did not say whether the sending route waits for the answer. Over a 
broker that is the difference between request-reply and a hand-off: in 
connect-service/jms-request-reply, reserve-order sends to `jms:queue:stock` 
with `exchangePattern=InOut` and waits for stock-service, while it hands the 
reserved order to shipping and invoicing over a topic. The tools that draw and 
count the flow of an integration (the About view and the Diagram of the Camel 
TUI) could not tell them apart, and counted each hop through the broker as a 
new message: 14 exchanges for 3 orders.
   
   - `RouteTopologyDumper.TopologyEdge` has the new `reply` component (since 
4.24); the seven-argument constructor is kept.
   - `DefaultRouteTopologyDumper` decides it as `SendProcessor` decides the 
exchange pattern: the `exchangePattern` of the endpoint uri, else the pattern 
of the send (`to` with `pattern`), else the pattern of the message the route 
consumed (InOut from platform-http, InOnly from a timer). `direct` and 
`kamelet` always run the target before the route goes on. An error path (dead 
letter channel, onException) never waits.
   - A `wireTap` or a `toD` to an endpoint the route names, not one it computes 
with an expression, is now an edge too (a wire tap never waits), and an 
external endpoint when no route consumes from it. Before, the topology had no 
edge for `wireTap: direct:audit`.
   - The `route-topology` console writes `reply` (its typed `EdgeEntry`, and 
the generated schema and catalog copies), and its text output marks a 
request-reply the component does not imply: `--> quoter via seda:quote 
[internal, request-reply]`. The topology JSON of the dump routes strategy 
writes `reply: true`.
   - Upgrade guide 4.24: the new component and the wire tap edges.
   
   The About view of the TUI will use this in a follow-up PR: a broker hop 
between the routes of one integration as a call (↳) or a hand-off (⇢), In and 
Out from the external endpoints, and Last 5m counting a message once.
   
   Tests: `DefaultRouteTopologyDumperReplyTest` (the shape of 
jms-request-reply, with seda for the broker: a hand-off, a request-reply by the 
endpoint and by the send, a direct call, a wire tap, the request of an InOut 
consumer, a dead letter channel), `RouteTopologyDevConsoleTest` (JSON and 
text), `DefaultDumpRoutesStrategyTopologyJsonTest`. camel-console and the 
topology tests of camel-core pass locally.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to