[ 
https://issues.apache.org/jira/browse/CAMEL-20540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17824841#comment-17824841
 ] 

Raymond commented on CAMEL-20540:
---------------------------------

To give some info on how it looks for end users:

[https://academy.dovetail.world/docs/pages/flow_manager/flow_tracing]

An exchange (or multiple exchanges) tied to a breadcrumbid are called a 
transaction. Each route is a step in the transactions log where users can view 
headers and body. On the background, the event notifier gets exchanges, sets 
basic information to json, and that is send to Elastic. The frontend show these 
directly from Elastic. The message history is thus independent if routes are 
running or not.

Based on your idea of the message history I also considered wrapping the routes 
in a Camel step (https://camel.apache.org/components/4.4.x/eips/step-eip.html), 
and then filter the steps out from the message history. However this not going 
to work. I also want to leave people make their own routes or use kamelets from 
the catalog, and they don't have logical grouping by step.

> Add RouteExchangeIn and RouteExchangeOut events
> -----------------------------------------------
>
>                 Key: CAMEL-20540
>                 URL: https://issues.apache.org/jira/browse/CAMEL-20540
>             Project: Camel
>          Issue Type: Wish
>    Affects Versions: 4.4.0
>            Reporter: Raymond
>            Priority: Minor
>
> In my Camel based platform I currently use Camel 3. There, users can add a 
> route or kamelet per task.
> Example:
> {code:java}
> <route routeid="1">
>   <from uri="activemq:SomeQueue"/>
>     //some task
>     <to uri="direct-vm:2"/>
> </route>
> <route routeid="2">
>   <from uri="direct-vm:2"/>
>     //some task
>   <to uri="direct-vm:3"/>
> </route>
> <route routeid="3">
>   <from uri="direct-vm:3"/>
>     //some task
>     <to uri="sftp:myserver"/>
> </route>    {code}
> I use the Event Notifier to get events to show the message that goes into 
> each route. For this the event *ExchangeCreated* is used 
> ([https://www.javadoc.io/doc/org.apache.camel/camel-api/latest/org/apache/camel/spi/CamelEvent.html)].
> For each route I get a copy of the message Exchange with the breadcrumbid. 
> This works because the routes are connected either through:
> 1. direct-vm
> 2. vm
> 3. activemq
> Now I like to migrate to Camel 4. The issue is that direct-vm and vm aren't 
> available anymore since Camel 4.0:
> [https://camel.apache.org/manual/camel-4-migration-guide.html]
> The problem is that a direct endpoint has only 1 ExchangeCreated event over 
> multiple routes.
> I wish to have a RouteExchangeIn and RouteExchangeOut CamelEvent, so that I 
> can still offer this functionality. The nice thing is that this then would 
> work for all endpoints.
>  



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

Reply via email to