camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: preserve custom exchange id or custom message id
Date Thu, 30 Nov 2017 08:14:05 GMT
Read chapter 1 of the CiA2 book which tells you where data lives on
the exchange.

Only data on the message is part of the "data contract" that can be
transferred over the wire/components and therefore can be preserved.
Data on exchange properties cannot, and so the exchange id neither.

The breadcrumb is the id that can be transferred over the wire which
is supported out of the box.

And don't change the exchange id, that is not really for end users to
change, but for the component/camel to setup initially.



On Thu, Nov 30, 2017 at 9:07 AM, Dennis Holunder <dennisholu@gmail.com> wrote:
> I'm surprised it is not supported by Camel out of the box. I mean, if
> the route changes the message id, the expectation is clearly that it
> must be preserved. What is the purpose of the id if it is not the same
> in the next route step?
>
> 2017-11-29 17:37 GMT+01:00 Dicken George [via Camel]
> <ml+s465427n5815929h73@n5.nabble.com>:
>> 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 <[hidden email]>
>> 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]
>>> <[hidden email]>:
>>> > 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
>>
>>
>> ________________________________
>> 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-tp5815908p5815929.html
>> To unsubscribe from Camel, click here.
>> NAML



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Mime
View raw message