I had a similar situation and i used the MDC logger to add a new header
"x-correlation-id" or "x-header-id" and stored my unique id in the exchange
as well as on the spring endpoint to track my requests.
And with MDCUnitofWork class extension to my class I was able to access my
current exchange as well.

On Wed, Nov 29, 2017 at 5:19 PM, Dennis Holunder <dennish...@gmail.com>
wrote:

> Well, at least in my case its much easier to overwrite the exchange id
> in each route part.
>
> 2017-11-29 17:10 GMT+01:00 Claus Ibsen-2 [via Camel]
> <ml+s465427n5815927...@n5.nabble.com>:
> > Yeah that is correct, so you would have to either overwrite the
> > existing breadcrumbId header, or use some of your own header for this
> > "special id"
> >
> > On Wed, Nov 29, 2017 at 4:45 PM, Dennis Holunder <[hidden email]> wrote:
> >
> >> but as far as I understand uuid generator doesn't have access to the
> >> current exchange, so there is no way to append my id from body to the
> >> exchange id or message id
> >>
> >> 2017-11-29 15:02 GMT+01:00 Claus Ibsen-2 [via Camel]
> >> <[hidden email]>:
> >>> If you want to have the id transffered over the wire, you cannot use
> >>> exchange id, as its transient.
> >>>
> >>> You can use the breadcrumb-id, and plugin a different uuid generator in
> >>> Camel.
> >>> http://camel.apache.org/mdc-logging.html
> >>>
> >>>
> >>> On Wed, Nov 29, 2017 at 2:40 PM, Dennis Holunder <[hidden email]>
> wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> for easier reading logs I'd like to append db record id to the
> >>>> exchange id, but it only works in current route. After the exchange is
> >>>> sent to queue, the appended part is lost
> >>>>
> >>>> from("direct:source")
> >>>>     .setBody("id from DB)
> >>>>     .process(exchange->
> >>>> exchange.setExchangeId(exchange.getExchangeId() + "-myid-" +
> >>>> exchange.getIn().getBody()))
> >>>>    .process(exchange -> System.out.println(exchange.getExchangeId())
> >>>>     to(queue);
> >>>>
> >>>> // now in queue "-myid-" is not present
> >>>> from(queue()).process(exchange ->
> >>>> System.out.println(exchange.getExchangeId()));
> >>>>
> >>>>
> >>>> Is there a way to preserver the changed id?
> >>>>
> >>>> Dennis
> >>>
> >>>
> >>>
> >>> --
> >>> Claus Ibsen
> >>> -----------------
> >>> http://davsclaus.com @davsclaus
> >>> Camel in Action 2: https://www.manning.com/ibsen2
> >>>
> >>>
> >>> ________________________________
> >>> If you reply to this email, your message will be added to the
> discussion
> >>> below:
> >>>
> >>> http://camel.465427.n5.nabble.com/preserve-custom-exchange-
> id-or-custom-message-id-tp5815908p5815909.html
> >>> To unsubscribe from Camel, click here.
> >>> NAML
> >
> >
> >
> > --
> > Claus Ibsen
> > -----------------
> > http://davsclaus.com @davsclaus
> > Camel in Action 2: https://www.manning.com/ibsen2
> >
> >
> > ________________________________
> > If you reply to this email, your message will be added to the discussion
> > below:
> > http://camel.465427.n5.nabble.com/preserve-custom-exchange-
> id-or-custom-message-id-tp5815908p5815927.html
> > To unsubscribe from Camel, click here.
> > NAML
>



-- 

Dicken George

Reply via email to