You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Thomas TERMIN <tt...@blue-elephant-systems.com> on 2007/03/07 18:14:42 UTC

Re: correlation id with tracing

Guillaume Nodet wrote:
> However, it might be possible to enhance the ComponentSupport
> or another class to support the correlation id automatically.
> This would make all lightweight components to support that.
We could extend ComponentSupport with methods to create the new
exchanges and this methods could put the correlation id automatically in
the new excahnge. So if you would use ComponentSupport to create the
exchange the correlationId will be propagated. The advantage is that you
don't have to use this functions and it would be backward compatible.

What do you think?


> 
> On 1/23/07, Guillaume Nodet <gn...@gmail.com> wrote:
>> I don't think so, as the container (or the ecxhange factory) has no way
>> to know which jbi exchange is currently handled by the component.
>> And you can not use a thread local, has the component may delegate
>> the exhcange processing to another thread.
>> That's the reason why it has been implemented in servicemix-common.
>> Do you see something else ?
>>
>> On 1/23/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>> > A question again. If I have a lw component which opens a new message
>> > exchange the correlation id has to be propageted in the component
>> > itself. Would it be better or is it possible to do this automaticaly in
>> > the exchange factory?
>> >
>> > Cheers,
>> > Thomas
>> >
>> > Guillaume Nodet wrote:
>> > > The way it works now is that
>> > > all components using servicemix-common that create an exchange
>> > > as part of the processing of a received exchange, will automatically
>> > > put the correlationId in the new exchange properties.
>> > > The correlationId is equal to correlationId of the input exchange,
>> or the
>> > > input exchange id if no correlation id is set.
>> > >
>> > > So if an endpoint A sends a JBI exchange to enpoint B, and endpoint B
>> > > sends a jbi exchange to endpoint C while processing the exchange,
>> > > both exchange will have the same correlationId.
>> > >
>> > > If we write a MessageExchange event listener, we should be able to
>> > > retrieve all these informations.  Note that the flow can be retrieved
>> > > with the same logic used in the DotViewFlowListener instead.
>> > >
>> > > Just copy the DotViewFlowListener and change the drawing
>> > > logic.  What tool are will you use to draw the flow ?  The output
>> > > of the DotViewFlowListener is not very impressive, so any
>> > > improvement would be welcome.
>> > >
>> > > On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>> > >> How is this intended to work? I want to implement a tracing tool or
>> > >> whatever to see the flows between the components.
>> > >>
>> > >> Cheers
>> > >>
>> > >> Guillaume Nodet wrote:
>> > >> > No one leverage the correlation ids, but i it could / should
>> > >> > be done.  What kind of informations are you looking for ?
>> > >> >
>> > >> > On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>> > >> >> Hello,
>> > >> >>
>> > >> >> How can I enable tracing in servicemix with the new
>> correlation id
>> > >> >> mechanism. How do I have to use this? (I don't want to use the
>> > >> >> DotViewFlowListener)
>> > >> >>
>> > >> >> Cheers,
>> > >> >> Thomas
>> > >> >>
>> > >> >
>> > >> >
>> > >>
>> > >>
>> > >
>> > >
>> >
>> >
>>
>>
>> -- 
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Architect, LogicBlaze (http://www.logicblaze.com/)
>> Blog: http://gnodet.blogspot.com/
>>
> 
> 


-- 
Thomas Termin
_______________________________
blue elephant systems GmbH
Wollgrasweg 49
D-70599 Stuttgart

Tel    :  (+49) 0711 - 45 10 17 676
Fax    :  (+49) 0711 - 45 10 17 573
WWW    :  http://www.blue-elephant-systems.com
Email  :  Thomas.Termin@blue-elephant-systems.com

blue elephant systems GmbH
Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
Registergericht : Amtsgericht Stuttgart, HRB 24106
Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle


Re: correlation id with tracing

Posted by Guillaume Nodet <gn...@gmail.com>.
Go for it ...
Btw, you should sign and fax a CLA to the ASF if possible:
  http://www.apache.org/licenses/icla.pdf, or
  http://www.apache.org/licenses/icla.txt


On 3/8/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>
>
> > Is there a JIRA for that ?
> No not yet. I will create one. Do you want to implement this or should I
> do it?
>
>
> >
> > On 3/7/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
> >>
> >> Guillaume Nodet wrote:
> >> > However, it might be possible to enhance the ComponentSupport
> >> > or another class to support the correlation id automatically.
> >> > This would make all lightweight components to support that.
> >> We could extend ComponentSupport with methods to create the new
> >> exchanges and this methods could put the correlation id automatically
> in
> >> the new excahnge. So if you would use ComponentSupport to create the
> >> exchange the correlationId will be propagated. The advantage is that
> you
> >> don't have to use this functions and it would be backward compatible.
> >>
> >> What do you think?
> >>
> >>
> >> >
> >> > On 1/23/07, Guillaume Nodet <gn...@gmail.com> wrote:
> >> >> I don't think so, as the container (or the ecxhange factory) has no
> >> way
> >> >> to know which jbi exchange is currently handled by the component.
> >> >> And you can not use a thread local, has the component may delegate
> >> >> the exhcange processing to another thread.
> >> >> That's the reason why it has been implemented in servicemix-common.
> >> >> Do you see something else ?
> >> >>
> >> >> On 1/23/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
> >> >> > A question again. If I have a lw component which opens a new
> message
> >> >> > exchange the correlation id has to be propageted in the component
> >> >> > itself. Would it be better or is it possible to do this
> automaticaly
> >> in
> >> >> > the exchange factory?
> >> >> >
> >> >> > Cheers,
> >> >> > Thomas
> >> >> >
> >> >> > Guillaume Nodet wrote:
> >> >> > > The way it works now is that
> >> >> > > all components using servicemix-common that create an exchange
> >> >> > > as part of the processing of a received exchange, will
> >> automatically
> >> >> > > put the correlationId in the new exchange properties.
> >> >> > > The correlationId is equal to correlationId of the input
> exchange,
> >> >> or the
> >> >> > > input exchange id if no correlation id is set.
> >> >> > >
> >> >> > > So if an endpoint A sends a JBI exchange to enpoint B, and
> >> endpoint
> >> B
> >> >> > > sends a jbi exchange to endpoint C while processing the
> exchange,
> >> >> > > both exchange will have the same correlationId.
> >> >> > >
> >> >> > > If we write a MessageExchange event listener, we should be able
> to
> >> >> > > retrieve all these informations.  Note that the flow can be
> >> retrieved
> >> >> > > with the same logic used in the DotViewFlowListener instead.
> >> >> > >
> >> >> > > Just copy the DotViewFlowListener and change the drawing
> >> >> > > logic.  What tool are will you use to draw the flow ?  The
> output
> >> >> > > of the DotViewFlowListener is not very impressive, so any
> >> >> > > improvement would be welcome.
> >> >> > >
> >> >> > > On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
> >> >> > >> How is this intended to work? I want to implement a tracing
> tool
> >> or
> >> >> > >> whatever to see the flows between the components.
> >> >> > >>
> >> >> > >> Cheers
> >> >> > >>
> >> >> > >> Guillaume Nodet wrote:
> >> >> > >> > No one leverage the correlation ids, but i it could / should
> >> >> > >> > be done.  What kind of informations are you looking for ?
> >> >> > >> >
> >> >> > >> > On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com>
> >> wrote:
> >> >> > >> >> Hello,
> >> >> > >> >>
> >> >> > >> >> How can I enable tracing in servicemix with the new
> >> >> correlation id
> >> >> > >> >> mechanism. How do I have to use this? (I don't want to use
> the
> >> >> > >> >> DotViewFlowListener)
> >> >> > >> >>
> >> >> > >> >> Cheers,
> >> >> > >> >> Thomas
> >> >> > >> >>
> >> >> > >> >
> >> >> > >> >
> >> >> > >>
> >> >> > >>
> >> >> > >
> >> >> > >
> >> >> >
> >> >> >
> >> >>
> >> >>
> >> >> --
> >> >> Cheers,
> >> >> Guillaume Nodet
> >> >> ------------------------
> >> >> Architect, LogicBlaze (http://www.logicblaze.com/)
> >> >> Blog: http://gnodet.blogspot.com/
> >> >>
> >> >
> >> >
> >>
> >>
> >> --
> >> Thomas Termin
> >> _______________________________
> >> blue elephant systems GmbH
> >> Wollgrasweg 49
> >> D-70599 Stuttgart
> >>
> >> Tel    :  (+49) 0711 - 45 10 17 676
> >> Fax    :  (+49) 0711 - 45 10 17 573
> >> WWW    :  http://www.blue-elephant-systems.com
> >> Email  :  Thomas.Termin@blue-elephant-systems.com
> >>
> >> blue elephant systems GmbH
> >> Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
> >> Registergericht : Amtsgericht Stuttgart, HRB 24106
> >> Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
> >>
> >>
> >
> >
>
>
> --
> Thomas Termin
> _______________________________
> blue elephant systems GmbH
> Wollgrasweg 49
> D-70599 Stuttgart
>
> Tel    :  (+49) 0711 - 45 10 17 676
> Fax    :  (+49) 0711 - 45 10 17 573
> WWW    :  http://www.blue-elephant-systems.com
> Email  :  Thomas.Termin@blue-elephant-systems.com
>
> blue elephant systems GmbH
> Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
> Registergericht : Amtsgericht Stuttgart, HRB 24106
> Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/

Re: correlation id with tracing

Posted by Guillaume Nodet <gn...@gmail.com>.
Yeah, for example. I don't think the way the correlation Id is created
is very important.

See
http://fisheye6.cenqua.com/browse/servicemix/trunk/common/servicemix-common/src/main/java/org/apache/servicemix/common/AsyncBaseLifeCycle.java?r=515741#l526
for the code in use in servicemix-common.


On 3/21/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>
> >> I extended component support so that we have the four methods with the
> >> MessageExchange parameter to get and set the correlation id.
> >>
> >> public InOnly createInOnlyExchange(MessageExchange beforeExchange)
> >> public InOptionalOut createInOptionalOutExchange(MessageExchange
> >> beforeExchange)
> >> public InOut createInOutExchange(MessageExchange beforeExchange)
> >> public RobustInOnly createRobustInOnlyExchange(MessageExchange
> >> beforeExchange)
> >>
> >> this are the corresponding methods to the four methods without
> >> parameters to create a new excahnge.
> >
> >
> > Cool, thx :-)
> >
> > Do you want to create corresponding methods to the other methods like
> >>
> >> public InOut createInOutExchange(QName service, QName interfaceName,
> >> QName operation)
> >
> >
> > What about adding a helper method to progate / create the correlation
> id.
> create correlation id means (if correlation id == null) get the exchange
> id from the source exchange, right?
> >
> >  public void propagateCorrelationId(MessageExchange source,
> MessageExchange
> > dest);
> >
> > This method could be used by the four methods you've written, and could
> be
> > called
> > if the component use other methods.
> >
> > Hopefully your account will be created soon.  I have sent a reminder,
> but I
> > can't do much :-(
> >
> > Cheers,
> >> Thomas
> >>
> >> Thomas TERMIN wrote:
> >> >> Is there a JIRA for that ?
> >> > No not yet. I will create one. Do you want to implement this or
> >> should I
> >> > do it?
> >> >
> >> >
> >> >> On 3/7/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
> >> >>> Guillaume Nodet wrote:
> >> >>>> However, it might be possible to enhance the ComponentSupport
> >> >>>> or another class to support the correlation id automatically.
> >> >>>> This would make all lightweight components to support that.
> >> >>> We could extend ComponentSupport with methods to create the new
> >> >>> exchanges and this methods could put the correlation id
> automatically
> >> in
> >> >>> the new excahnge. So if you would use ComponentSupport to create
> the
> >> >>> exchange the correlationId will be propagated. The advantage is
> that
> >> you
> >> >>> don't have to use this functions and it would be backward
> compatible.
> >> >>>
> >> >>> What do you think?
> >> >>>
> >> >>>
> >> >>>> On 1/23/07, Guillaume Nodet <gn...@gmail.com> wrote:
> >> >>>>> I don't think so, as the container (or the ecxhange factory) has
> no
> >> >>> way
> >> >>>>> to know which jbi exchange is currently handled by the component.
> >> >>>>> And you can not use a thread local, has the component may
> delegate
> >> >>>>> the exhcange processing to another thread.
> >> >>>>> That's the reason why it has been implemented in
> servicemix-common.
> >> >>>>> Do you see something else ?
> >> >>>>>
> >> >>>>> On 1/23/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
> >> >>>>>> A question again. If I have a lw component which opens a new
> >> message
> >> >>>>>> exchange the correlation id has to be propageted in the
> component
> >> >>>>>> itself. Would it be better or is it possible to do this
> >> automaticaly
> >> >>> in
> >> >>>>>> the exchange factory?
> >> >>>>>>
> >> >>>>>> Cheers,
> >> >>>>>> Thomas
> >> >>>>>>
> >> >>>>>> Guillaume Nodet wrote:
> >> >>>>>>> The way it works now is that
> >> >>>>>>> all components using servicemix-common that create an exchange
> >> >>>>>>> as part of the processing of a received exchange, will
> >> >>> automatically
> >> >>>>>>> put the correlationId in the new exchange properties.
> >> >>>>>>> The correlationId is equal to correlationId of the input
> >> exchange,
> >> >>>>> or the
> >> >>>>>>> input exchange id if no correlation id is set.
> >> >>>>>>>
> >> >>>>>>> So if an endpoint A sends a JBI exchange to enpoint B, and
> >> >>> endpoint
> >> >>> B
> >> >>>>>>> sends a jbi exchange to endpoint C while processing the
> exchange,
> >> >>>>>>> both exchange will have the same correlationId.
> >> >>>>>>>
> >> >>>>>>> If we write a MessageExchange event listener, we should be
> >> able to
> >> >>>>>>> retrieve all these informations.  Note that the flow can be
> >> >>> retrieved
> >> >>>>>>> with the same logic used in the DotViewFlowListener instead.
> >> >>>>>>>
> >> >>>>>>> Just copy the DotViewFlowListener and change the drawing
> >> >>>>>>> logic.  What tool are will you use to draw the flow ?  The
> output
> >> >>>>>>> of the DotViewFlowListener is not very impressive, so any
> >> >>>>>>> improvement would be welcome.
> >> >>>>>>>
> >> >>>>>>> On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com>
> wrote:
> >> >>>>>>>> How is this intended to work? I want to implement a tracing
> tool
> >> >>> or
> >> >>>>>>>> whatever to see the flows between the components.
> >> >>>>>>>>
> >> >>>>>>>> Cheers
> >> >>>>>>>>
> >> >>>>>>>> Guillaume Nodet wrote:
> >> >>>>>>>>> No one leverage the correlation ids, but i it could / should
> >> >>>>>>>>> be done.  What kind of informations are you looking for ?
> >> >>>>>>>>>
> >> >>>>>>>>> On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com>
> >> >>> wrote:
> >> >>>>>>>>>> Hello,
> >> >>>>>>>>>>
> >> >>>>>>>>>> How can I enable tracing in servicemix with the new
> >> >>>>> correlation id
> >> >>>>>>>>>> mechanism. How do I have to use this? (I don't want to use
> the
> >> >>>>>>>>>> DotViewFlowListener)
> >> >>>>>>>>>>
> >> >>>>>>>>>> Cheers,
> >> >>>>>>>>>> Thomas
> >> >>>>>>>>>>
> >> >>>>>>>>>
> >> >>>>>>>>
> >> >>>>>>>
> >> >>>>>>
> >> >>>>>
> >> >>>>> --
> >> >>>>> Cheers,
> >> >>>>> Guillaume Nodet
> >> >>>>> ------------------------
> >> >>>>> Architect, LogicBlaze (http://www.logicblaze.com/)
> >> >>>>> Blog: http://gnodet.blogspot.com/
> >> >>>>>
> >> >>>>
> >> >>>
> >> >>> --
> >> >>> Thomas Termin
> >> >>> _______________________________
> >> >>> blue elephant systems GmbH
> >> >>> Wollgrasweg 49
> >> >>> D-70599 Stuttgart
> >> >>>
> >> >>> Tel    :  (+49) 0711 - 45 10 17 676
> >> >>> Fax    :  (+49) 0711 - 45 10 17 573
> >> >>> WWW    :  http://www.blue-elephant-systems.com
> >> >>> Email  :  Thomas.Termin@blue-elephant-systems.com
> >> >>>
> >> >>> blue elephant systems GmbH
> >> >>> Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
> >> >>> Registergericht : Amtsgericht Stuttgart, HRB 24106
> >> >>> Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
> >> >>>
> >> >>>
> >> >>
> >> >
> >> >
> >>
> >>
> >> --
> >> Thomas Termin
> >> _______________________________
> >> blue elephant systems GmbH
> >> Wollgrasweg 49
> >> D-70599 Stuttgart
> >>
> >> Tel    :  (+49) 0711 - 45 10 17 676
> >> Fax    :  (+49) 0711 - 45 10 17 573
> >> WWW    :  http://www.blue-elephant-systems.com
> >> Email  :  Thomas.Termin@blue-elephant-systems.com
> >>
> >> blue elephant systems GmbH
> >> Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
> >> Registergericht : Amtsgericht Stuttgart, HRB 24106
> >> Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
> >>
> >>
> >
> >
>
>
> --
> Thomas Termin
> _______________________________
> blue elephant systems GmbH
> Wollgrasweg 49
> D-70599 Stuttgart
>
> Tel    :  (+49) 0711 - 45 10 17 676
> Fax    :  (+49) 0711 - 45 10 17 573
> WWW    :  http://www.blue-elephant-systems.com
> Email  :  Thomas.Termin@blue-elephant-systems.com
>
> blue elephant systems GmbH
> Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
> Registergericht : Amtsgericht Stuttgart, HRB 24106
> Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/

Re: correlation id with tracing

Posted by Thomas TERMIN <tt...@blue-elephant-systems.com>.
>> I extended component support so that we have the four methods with the
>> MessageExchange parameter to get and set the correlation id.
>>
>> public InOnly createInOnlyExchange(MessageExchange beforeExchange)
>> public InOptionalOut createInOptionalOutExchange(MessageExchange
>> beforeExchange)
>> public InOut createInOutExchange(MessageExchange beforeExchange)
>> public RobustInOnly createRobustInOnlyExchange(MessageExchange
>> beforeExchange)
>>
>> this are the corresponding methods to the four methods without
>> parameters to create a new excahnge.
> 
> 
> Cool, thx :-)
> 
> Do you want to create corresponding methods to the other methods like
>>
>> public InOut createInOutExchange(QName service, QName interfaceName,
>> QName operation)
> 
> 
> What about adding a helper method to progate / create the correlation id.
create correlation id means (if correlation id == null) get the exchange
id from the source exchange, right?
> 
>  public void propagateCorrelationId(MessageExchange source, MessageExchange
> dest);
> 
> This method could be used by the four methods you've written, and could be
> called
> if the component use other methods.
> 
> Hopefully your account will be created soon.  I have sent a reminder, but I
> can't do much :-(
> 
> Cheers,
>> Thomas
>>
>> Thomas TERMIN wrote:
>> >> Is there a JIRA for that ?
>> > No not yet. I will create one. Do you want to implement this or
>> should I
>> > do it?
>> >
>> >
>> >> On 3/7/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>> >>> Guillaume Nodet wrote:
>> >>>> However, it might be possible to enhance the ComponentSupport
>> >>>> or another class to support the correlation id automatically.
>> >>>> This would make all lightweight components to support that.
>> >>> We could extend ComponentSupport with methods to create the new
>> >>> exchanges and this methods could put the correlation id automatically
>> in
>> >>> the new excahnge. So if you would use ComponentSupport to create the
>> >>> exchange the correlationId will be propagated. The advantage is that
>> you
>> >>> don't have to use this functions and it would be backward compatible.
>> >>>
>> >>> What do you think?
>> >>>
>> >>>
>> >>>> On 1/23/07, Guillaume Nodet <gn...@gmail.com> wrote:
>> >>>>> I don't think so, as the container (or the ecxhange factory) has no
>> >>> way
>> >>>>> to know which jbi exchange is currently handled by the component.
>> >>>>> And you can not use a thread local, has the component may delegate
>> >>>>> the exhcange processing to another thread.
>> >>>>> That's the reason why it has been implemented in servicemix-common.
>> >>>>> Do you see something else ?
>> >>>>>
>> >>>>> On 1/23/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>> >>>>>> A question again. If I have a lw component which opens a new
>> message
>> >>>>>> exchange the correlation id has to be propageted in the component
>> >>>>>> itself. Would it be better or is it possible to do this
>> automaticaly
>> >>> in
>> >>>>>> the exchange factory?
>> >>>>>>
>> >>>>>> Cheers,
>> >>>>>> Thomas
>> >>>>>>
>> >>>>>> Guillaume Nodet wrote:
>> >>>>>>> The way it works now is that
>> >>>>>>> all components using servicemix-common that create an exchange
>> >>>>>>> as part of the processing of a received exchange, will
>> >>> automatically
>> >>>>>>> put the correlationId in the new exchange properties.
>> >>>>>>> The correlationId is equal to correlationId of the input
>> exchange,
>> >>>>> or the
>> >>>>>>> input exchange id if no correlation id is set.
>> >>>>>>>
>> >>>>>>> So if an endpoint A sends a JBI exchange to enpoint B, and
>> >>> endpoint
>> >>> B
>> >>>>>>> sends a jbi exchange to endpoint C while processing the exchange,
>> >>>>>>> both exchange will have the same correlationId.
>> >>>>>>>
>> >>>>>>> If we write a MessageExchange event listener, we should be
>> able to
>> >>>>>>> retrieve all these informations.  Note that the flow can be
>> >>> retrieved
>> >>>>>>> with the same logic used in the DotViewFlowListener instead.
>> >>>>>>>
>> >>>>>>> Just copy the DotViewFlowListener and change the drawing
>> >>>>>>> logic.  What tool are will you use to draw the flow ?  The output
>> >>>>>>> of the DotViewFlowListener is not very impressive, so any
>> >>>>>>> improvement would be welcome.
>> >>>>>>>
>> >>>>>>> On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>> >>>>>>>> How is this intended to work? I want to implement a tracing tool
>> >>> or
>> >>>>>>>> whatever to see the flows between the components.
>> >>>>>>>>
>> >>>>>>>> Cheers
>> >>>>>>>>
>> >>>>>>>> Guillaume Nodet wrote:
>> >>>>>>>>> No one leverage the correlation ids, but i it could / should
>> >>>>>>>>> be done.  What kind of informations are you looking for ?
>> >>>>>>>>>
>> >>>>>>>>> On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com>
>> >>> wrote:
>> >>>>>>>>>> Hello,
>> >>>>>>>>>>
>> >>>>>>>>>> How can I enable tracing in servicemix with the new
>> >>>>> correlation id
>> >>>>>>>>>> mechanism. How do I have to use this? (I don't want to use the
>> >>>>>>>>>> DotViewFlowListener)
>> >>>>>>>>>>
>> >>>>>>>>>> Cheers,
>> >>>>>>>>>> Thomas
>> >>>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>
>> >>>>>>>
>> >>>>>>
>> >>>>>
>> >>>>> --
>> >>>>> Cheers,
>> >>>>> Guillaume Nodet
>> >>>>> ------------------------
>> >>>>> Architect, LogicBlaze (http://www.logicblaze.com/)
>> >>>>> Blog: http://gnodet.blogspot.com/
>> >>>>>
>> >>>>
>> >>>
>> >>> --
>> >>> Thomas Termin
>> >>> _______________________________
>> >>> blue elephant systems GmbH
>> >>> Wollgrasweg 49
>> >>> D-70599 Stuttgart
>> >>>
>> >>> Tel    :  (+49) 0711 - 45 10 17 676
>> >>> Fax    :  (+49) 0711 - 45 10 17 573
>> >>> WWW    :  http://www.blue-elephant-systems.com
>> >>> Email  :  Thomas.Termin@blue-elephant-systems.com
>> >>>
>> >>> blue elephant systems GmbH
>> >>> Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
>> >>> Registergericht : Amtsgericht Stuttgart, HRB 24106
>> >>> Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
>> >>>
>> >>>
>> >>
>> >
>> >
>>
>>
>> -- 
>> Thomas Termin
>> _______________________________
>> blue elephant systems GmbH
>> Wollgrasweg 49
>> D-70599 Stuttgart
>>
>> Tel    :  (+49) 0711 - 45 10 17 676
>> Fax    :  (+49) 0711 - 45 10 17 573
>> WWW    :  http://www.blue-elephant-systems.com
>> Email  :  Thomas.Termin@blue-elephant-systems.com
>>
>> blue elephant systems GmbH
>> Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
>> Registergericht : Amtsgericht Stuttgart, HRB 24106
>> Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
>>
>>
> 
> 


-- 
Thomas Termin
_______________________________
blue elephant systems GmbH
Wollgrasweg 49
D-70599 Stuttgart

Tel    :  (+49) 0711 - 45 10 17 676
Fax    :  (+49) 0711 - 45 10 17 573
WWW    :  http://www.blue-elephant-systems.com
Email  :  Thomas.Termin@blue-elephant-systems.com

blue elephant systems GmbH
Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
Registergericht : Amtsgericht Stuttgart, HRB 24106
Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle


Re: correlation id with tracing

Posted by Guillaume Nodet <gn...@gmail.com>.
On 3/21/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>
> Guillaume,
>
> I extended component support so that we have the four methods with the
> MessageExchange parameter to get and set the correlation id.
>
> public InOnly createInOnlyExchange(MessageExchange beforeExchange)
> public InOptionalOut createInOptionalOutExchange(MessageExchange
> beforeExchange)
> public InOut createInOutExchange(MessageExchange beforeExchange)
> public RobustInOnly createRobustInOnlyExchange(MessageExchange
> beforeExchange)
>
> this are the corresponding methods to the four methods without
> parameters to create a new excahnge.


Cool, thx :-)

Do you want to create corresponding methods to the other methods like
>
> public InOut createInOutExchange(QName service, QName interfaceName,
> QName operation)


What about adding a helper method to progate / create the correlation id.

  public void propagateCorrelationId(MessageExchange source, MessageExchange
dest);

This method could be used by the four methods you've written, and could be
called
if the component use other methods.

Hopefully your account will be created soon.  I have sent a reminder, but I
can't do much :-(

Cheers,
> Thomas
>
> Thomas TERMIN wrote:
> >> Is there a JIRA for that ?
> > No not yet. I will create one. Do you want to implement this or should I
> > do it?
> >
> >
> >> On 3/7/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
> >>> Guillaume Nodet wrote:
> >>>> However, it might be possible to enhance the ComponentSupport
> >>>> or another class to support the correlation id automatically.
> >>>> This would make all lightweight components to support that.
> >>> We could extend ComponentSupport with methods to create the new
> >>> exchanges and this methods could put the correlation id automatically
> in
> >>> the new excahnge. So if you would use ComponentSupport to create the
> >>> exchange the correlationId will be propagated. The advantage is that
> you
> >>> don't have to use this functions and it would be backward compatible.
> >>>
> >>> What do you think?
> >>>
> >>>
> >>>> On 1/23/07, Guillaume Nodet <gn...@gmail.com> wrote:
> >>>>> I don't think so, as the container (or the ecxhange factory) has no
> >>> way
> >>>>> to know which jbi exchange is currently handled by the component.
> >>>>> And you can not use a thread local, has the component may delegate
> >>>>> the exhcange processing to another thread.
> >>>>> That's the reason why it has been implemented in servicemix-common.
> >>>>> Do you see something else ?
> >>>>>
> >>>>> On 1/23/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
> >>>>>> A question again. If I have a lw component which opens a new
> message
> >>>>>> exchange the correlation id has to be propageted in the component
> >>>>>> itself. Would it be better or is it possible to do this
> automaticaly
> >>> in
> >>>>>> the exchange factory?
> >>>>>>
> >>>>>> Cheers,
> >>>>>> Thomas
> >>>>>>
> >>>>>> Guillaume Nodet wrote:
> >>>>>>> The way it works now is that
> >>>>>>> all components using servicemix-common that create an exchange
> >>>>>>> as part of the processing of a received exchange, will
> >>> automatically
> >>>>>>> put the correlationId in the new exchange properties.
> >>>>>>> The correlationId is equal to correlationId of the input exchange,
> >>>>> or the
> >>>>>>> input exchange id if no correlation id is set.
> >>>>>>>
> >>>>>>> So if an endpoint A sends a JBI exchange to enpoint B, and
> >>> endpoint
> >>> B
> >>>>>>> sends a jbi exchange to endpoint C while processing the exchange,
> >>>>>>> both exchange will have the same correlationId.
> >>>>>>>
> >>>>>>> If we write a MessageExchange event listener, we should be able to
> >>>>>>> retrieve all these informations.  Note that the flow can be
> >>> retrieved
> >>>>>>> with the same logic used in the DotViewFlowListener instead.
> >>>>>>>
> >>>>>>> Just copy the DotViewFlowListener and change the drawing
> >>>>>>> logic.  What tool are will you use to draw the flow ?  The output
> >>>>>>> of the DotViewFlowListener is not very impressive, so any
> >>>>>>> improvement would be welcome.
> >>>>>>>
> >>>>>>> On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
> >>>>>>>> How is this intended to work? I want to implement a tracing tool
> >>> or
> >>>>>>>> whatever to see the flows between the components.
> >>>>>>>>
> >>>>>>>> Cheers
> >>>>>>>>
> >>>>>>>> Guillaume Nodet wrote:
> >>>>>>>>> No one leverage the correlation ids, but i it could / should
> >>>>>>>>> be done.  What kind of informations are you looking for ?
> >>>>>>>>>
> >>>>>>>>> On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com>
> >>> wrote:
> >>>>>>>>>> Hello,
> >>>>>>>>>>
> >>>>>>>>>> How can I enable tracing in servicemix with the new
> >>>>> correlation id
> >>>>>>>>>> mechanism. How do I have to use this? (I don't want to use the
> >>>>>>>>>> DotViewFlowListener)
> >>>>>>>>>>
> >>>>>>>>>> Cheers,
> >>>>>>>>>> Thomas
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>> --
> >>>>> Cheers,
> >>>>> Guillaume Nodet
> >>>>> ------------------------
> >>>>> Architect, LogicBlaze (http://www.logicblaze.com/)
> >>>>> Blog: http://gnodet.blogspot.com/
> >>>>>
> >>>>
> >>>
> >>> --
> >>> Thomas Termin
> >>> _______________________________
> >>> blue elephant systems GmbH
> >>> Wollgrasweg 49
> >>> D-70599 Stuttgart
> >>>
> >>> Tel    :  (+49) 0711 - 45 10 17 676
> >>> Fax    :  (+49) 0711 - 45 10 17 573
> >>> WWW    :  http://www.blue-elephant-systems.com
> >>> Email  :  Thomas.Termin@blue-elephant-systems.com
> >>>
> >>> blue elephant systems GmbH
> >>> Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
> >>> Registergericht : Amtsgericht Stuttgart, HRB 24106
> >>> Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
> >>>
> >>>
> >>
> >
> >
>
>
> --
> Thomas Termin
> _______________________________
> blue elephant systems GmbH
> Wollgrasweg 49
> D-70599 Stuttgart
>
> Tel    :  (+49) 0711 - 45 10 17 676
> Fax    :  (+49) 0711 - 45 10 17 573
> WWW    :  http://www.blue-elephant-systems.com
> Email  :  Thomas.Termin@blue-elephant-systems.com
>
> blue elephant systems GmbH
> Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
> Registergericht : Amtsgericht Stuttgart, HRB 24106
> Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/

Re: correlation id with tracing

Posted by Thomas TERMIN <tt...@blue-elephant-systems.com>.
Guillaume,

I extended component support so that we have the four methods with the
MessageExchange parameter to get and set the correlation id.

public InOnly createInOnlyExchange(MessageExchange beforeExchange)
public InOptionalOut createInOptionalOutExchange(MessageExchange
beforeExchange)
public InOut createInOutExchange(MessageExchange beforeExchange)
public RobustInOnly createRobustInOnlyExchange(MessageExchange
beforeExchange)

this are the corresponding methods to the four methods without
parameters to create a new excahnge.

Do you want to create corresponding methods to the other methods like

public InOut createInOutExchange(QName service, QName interfaceName,
QName operation)

Cheers,
Thomas

Thomas TERMIN wrote:
>> Is there a JIRA for that ?
> No not yet. I will create one. Do you want to implement this or should I
> do it?
> 
> 
>> On 3/7/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>>> Guillaume Nodet wrote:
>>>> However, it might be possible to enhance the ComponentSupport
>>>> or another class to support the correlation id automatically.
>>>> This would make all lightweight components to support that.
>>> We could extend ComponentSupport with methods to create the new
>>> exchanges and this methods could put the correlation id automatically in
>>> the new excahnge. So if you would use ComponentSupport to create the
>>> exchange the correlationId will be propagated. The advantage is that you
>>> don't have to use this functions and it would be backward compatible.
>>>
>>> What do you think?
>>>
>>>
>>>> On 1/23/07, Guillaume Nodet <gn...@gmail.com> wrote:
>>>>> I don't think so, as the container (or the ecxhange factory) has no
>>> way
>>>>> to know which jbi exchange is currently handled by the component.
>>>>> And you can not use a thread local, has the component may delegate
>>>>> the exhcange processing to another thread.
>>>>> That's the reason why it has been implemented in servicemix-common.
>>>>> Do you see something else ?
>>>>>
>>>>> On 1/23/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>>>>>> A question again. If I have a lw component which opens a new message
>>>>>> exchange the correlation id has to be propageted in the component
>>>>>> itself. Would it be better or is it possible to do this automaticaly
>>> in
>>>>>> the exchange factory?
>>>>>>
>>>>>> Cheers,
>>>>>> Thomas
>>>>>>
>>>>>> Guillaume Nodet wrote:
>>>>>>> The way it works now is that
>>>>>>> all components using servicemix-common that create an exchange
>>>>>>> as part of the processing of a received exchange, will
>>> automatically
>>>>>>> put the correlationId in the new exchange properties.
>>>>>>> The correlationId is equal to correlationId of the input exchange,
>>>>> or the
>>>>>>> input exchange id if no correlation id is set.
>>>>>>>
>>>>>>> So if an endpoint A sends a JBI exchange to enpoint B, and
>>> endpoint
>>> B
>>>>>>> sends a jbi exchange to endpoint C while processing the exchange,
>>>>>>> both exchange will have the same correlationId.
>>>>>>>
>>>>>>> If we write a MessageExchange event listener, we should be able to
>>>>>>> retrieve all these informations.  Note that the flow can be
>>> retrieved
>>>>>>> with the same logic used in the DotViewFlowListener instead.
>>>>>>>
>>>>>>> Just copy the DotViewFlowListener and change the drawing
>>>>>>> logic.  What tool are will you use to draw the flow ?  The output
>>>>>>> of the DotViewFlowListener is not very impressive, so any
>>>>>>> improvement would be welcome.
>>>>>>>
>>>>>>> On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>>>>>>>> How is this intended to work? I want to implement a tracing tool
>>> or
>>>>>>>> whatever to see the flows between the components.
>>>>>>>>
>>>>>>>> Cheers
>>>>>>>>
>>>>>>>> Guillaume Nodet wrote:
>>>>>>>>> No one leverage the correlation ids, but i it could / should
>>>>>>>>> be done.  What kind of informations are you looking for ?
>>>>>>>>>
>>>>>>>>> On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com>
>>> wrote:
>>>>>>>>>> Hello,
>>>>>>>>>>
>>>>>>>>>> How can I enable tracing in servicemix with the new
>>>>> correlation id
>>>>>>>>>> mechanism. How do I have to use this? (I don't want to use the
>>>>>>>>>> DotViewFlowListener)
>>>>>>>>>>
>>>>>>>>>> Cheers,
>>>>>>>>>> Thomas
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> Cheers,
>>>>> Guillaume Nodet
>>>>> ------------------------
>>>>> Architect, LogicBlaze (http://www.logicblaze.com/)
>>>>> Blog: http://gnodet.blogspot.com/
>>>>>
>>>>
>>>
>>> -- 
>>> Thomas Termin
>>> _______________________________
>>> blue elephant systems GmbH
>>> Wollgrasweg 49
>>> D-70599 Stuttgart
>>>
>>> Tel    :  (+49) 0711 - 45 10 17 676
>>> Fax    :  (+49) 0711 - 45 10 17 573
>>> WWW    :  http://www.blue-elephant-systems.com
>>> Email  :  Thomas.Termin@blue-elephant-systems.com
>>>
>>> blue elephant systems GmbH
>>> Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
>>> Registergericht : Amtsgericht Stuttgart, HRB 24106
>>> Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
>>>
>>>
>>
> 
> 


-- 
Thomas Termin
_______________________________
blue elephant systems GmbH
Wollgrasweg 49
D-70599 Stuttgart

Tel    :  (+49) 0711 - 45 10 17 676
Fax    :  (+49) 0711 - 45 10 17 573
WWW    :  http://www.blue-elephant-systems.com
Email  :  Thomas.Termin@blue-elephant-systems.com

blue elephant systems GmbH
Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
Registergericht : Amtsgericht Stuttgart, HRB 24106
Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle


Re: correlation id with tracing

Posted by Thomas TERMIN <tt...@blue-elephant-systems.com>.
> Is there a JIRA for that ?
No not yet. I will create one. Do you want to implement this or should I
do it?


> 
> On 3/7/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>>
>> Guillaume Nodet wrote:
>> > However, it might be possible to enhance the ComponentSupport
>> > or another class to support the correlation id automatically.
>> > This would make all lightweight components to support that.
>> We could extend ComponentSupport with methods to create the new
>> exchanges and this methods could put the correlation id automatically in
>> the new excahnge. So if you would use ComponentSupport to create the
>> exchange the correlationId will be propagated. The advantage is that you
>> don't have to use this functions and it would be backward compatible.
>>
>> What do you think?
>>
>>
>> >
>> > On 1/23/07, Guillaume Nodet <gn...@gmail.com> wrote:
>> >> I don't think so, as the container (or the ecxhange factory) has no
>> way
>> >> to know which jbi exchange is currently handled by the component.
>> >> And you can not use a thread local, has the component may delegate
>> >> the exhcange processing to another thread.
>> >> That's the reason why it has been implemented in servicemix-common.
>> >> Do you see something else ?
>> >>
>> >> On 1/23/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>> >> > A question again. If I have a lw component which opens a new message
>> >> > exchange the correlation id has to be propageted in the component
>> >> > itself. Would it be better or is it possible to do this automaticaly
>> in
>> >> > the exchange factory?
>> >> >
>> >> > Cheers,
>> >> > Thomas
>> >> >
>> >> > Guillaume Nodet wrote:
>> >> > > The way it works now is that
>> >> > > all components using servicemix-common that create an exchange
>> >> > > as part of the processing of a received exchange, will
>> automatically
>> >> > > put the correlationId in the new exchange properties.
>> >> > > The correlationId is equal to correlationId of the input exchange,
>> >> or the
>> >> > > input exchange id if no correlation id is set.
>> >> > >
>> >> > > So if an endpoint A sends a JBI exchange to enpoint B, and
>> endpoint
>> B
>> >> > > sends a jbi exchange to endpoint C while processing the exchange,
>> >> > > both exchange will have the same correlationId.
>> >> > >
>> >> > > If we write a MessageExchange event listener, we should be able to
>> >> > > retrieve all these informations.  Note that the flow can be
>> retrieved
>> >> > > with the same logic used in the DotViewFlowListener instead.
>> >> > >
>> >> > > Just copy the DotViewFlowListener and change the drawing
>> >> > > logic.  What tool are will you use to draw the flow ?  The output
>> >> > > of the DotViewFlowListener is not very impressive, so any
>> >> > > improvement would be welcome.
>> >> > >
>> >> > > On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>> >> > >> How is this intended to work? I want to implement a tracing tool
>> or
>> >> > >> whatever to see the flows between the components.
>> >> > >>
>> >> > >> Cheers
>> >> > >>
>> >> > >> Guillaume Nodet wrote:
>> >> > >> > No one leverage the correlation ids, but i it could / should
>> >> > >> > be done.  What kind of informations are you looking for ?
>> >> > >> >
>> >> > >> > On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com>
>> wrote:
>> >> > >> >> Hello,
>> >> > >> >>
>> >> > >> >> How can I enable tracing in servicemix with the new
>> >> correlation id
>> >> > >> >> mechanism. How do I have to use this? (I don't want to use the
>> >> > >> >> DotViewFlowListener)
>> >> > >> >>
>> >> > >> >> Cheers,
>> >> > >> >> Thomas
>> >> > >> >>
>> >> > >> >
>> >> > >> >
>> >> > >>
>> >> > >>
>> >> > >
>> >> > >
>> >> >
>> >> >
>> >>
>> >>
>> >> --
>> >> Cheers,
>> >> Guillaume Nodet
>> >> ------------------------
>> >> Architect, LogicBlaze (http://www.logicblaze.com/)
>> >> Blog: http://gnodet.blogspot.com/
>> >>
>> >
>> >
>>
>>
>> -- 
>> Thomas Termin
>> _______________________________
>> blue elephant systems GmbH
>> Wollgrasweg 49
>> D-70599 Stuttgart
>>
>> Tel    :  (+49) 0711 - 45 10 17 676
>> Fax    :  (+49) 0711 - 45 10 17 573
>> WWW    :  http://www.blue-elephant-systems.com
>> Email  :  Thomas.Termin@blue-elephant-systems.com
>>
>> blue elephant systems GmbH
>> Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
>> Registergericht : Amtsgericht Stuttgart, HRB 24106
>> Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
>>
>>
> 
> 


-- 
Thomas Termin
_______________________________
blue elephant systems GmbH
Wollgrasweg 49
D-70599 Stuttgart

Tel    :  (+49) 0711 - 45 10 17 676
Fax    :  (+49) 0711 - 45 10 17 573
WWW    :  http://www.blue-elephant-systems.com
Email  :  Thomas.Termin@blue-elephant-systems.com

blue elephant systems GmbH
Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
Registergericht : Amtsgericht Stuttgart, HRB 24106
Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle


Re: correlation id with tracing

Posted by Guillaume Nodet <gn...@gmail.com>.
Sounds good.
And i think abstract classes that already implement the
 onMessageExchange method should call these functions
(for example TransformerComponentSupport) so that most
of the lightweight components would have the desired behavior
without having to modify them.
Is there a JIRA for that ?

On 3/7/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>
> Guillaume Nodet wrote:
> > However, it might be possible to enhance the ComponentSupport
> > or another class to support the correlation id automatically.
> > This would make all lightweight components to support that.
> We could extend ComponentSupport with methods to create the new
> exchanges and this methods could put the correlation id automatically in
> the new excahnge. So if you would use ComponentSupport to create the
> exchange the correlationId will be propagated. The advantage is that you
> don't have to use this functions and it would be backward compatible.
>
> What do you think?
>
>
> >
> > On 1/23/07, Guillaume Nodet <gn...@gmail.com> wrote:
> >> I don't think so, as the container (or the ecxhange factory) has no way
> >> to know which jbi exchange is currently handled by the component.
> >> And you can not use a thread local, has the component may delegate
> >> the exhcange processing to another thread.
> >> That's the reason why it has been implemented in servicemix-common.
> >> Do you see something else ?
> >>
> >> On 1/23/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
> >> > A question again. If I have a lw component which opens a new message
> >> > exchange the correlation id has to be propageted in the component
> >> > itself. Would it be better or is it possible to do this automaticaly
> in
> >> > the exchange factory?
> >> >
> >> > Cheers,
> >> > Thomas
> >> >
> >> > Guillaume Nodet wrote:
> >> > > The way it works now is that
> >> > > all components using servicemix-common that create an exchange
> >> > > as part of the processing of a received exchange, will
> automatically
> >> > > put the correlationId in the new exchange properties.
> >> > > The correlationId is equal to correlationId of the input exchange,
> >> or the
> >> > > input exchange id if no correlation id is set.
> >> > >
> >> > > So if an endpoint A sends a JBI exchange to enpoint B, and endpoint
> B
> >> > > sends a jbi exchange to endpoint C while processing the exchange,
> >> > > both exchange will have the same correlationId.
> >> > >
> >> > > If we write a MessageExchange event listener, we should be able to
> >> > > retrieve all these informations.  Note that the flow can be
> retrieved
> >> > > with the same logic used in the DotViewFlowListener instead.
> >> > >
> >> > > Just copy the DotViewFlowListener and change the drawing
> >> > > logic.  What tool are will you use to draw the flow ?  The output
> >> > > of the DotViewFlowListener is not very impressive, so any
> >> > > improvement would be welcome.
> >> > >
> >> > > On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
> >> > >> How is this intended to work? I want to implement a tracing tool
> or
> >> > >> whatever to see the flows between the components.
> >> > >>
> >> > >> Cheers
> >> > >>
> >> > >> Guillaume Nodet wrote:
> >> > >> > No one leverage the correlation ids, but i it could / should
> >> > >> > be done.  What kind of informations are you looking for ?
> >> > >> >
> >> > >> > On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
> >> > >> >> Hello,
> >> > >> >>
> >> > >> >> How can I enable tracing in servicemix with the new
> >> correlation id
> >> > >> >> mechanism. How do I have to use this? (I don't want to use the
> >> > >> >> DotViewFlowListener)
> >> > >> >>
> >> > >> >> Cheers,
> >> > >> >> Thomas
> >> > >> >>
> >> > >> >
> >> > >> >
> >> > >>
> >> > >>
> >> > >
> >> > >
> >> >
> >> >
> >>
> >>
> >> --
> >> Cheers,
> >> Guillaume Nodet
> >> ------------------------
> >> Architect, LogicBlaze (http://www.logicblaze.com/)
> >> Blog: http://gnodet.blogspot.com/
> >>
> >
> >
>
>
> --
> Thomas Termin
> _______________________________
> blue elephant systems GmbH
> Wollgrasweg 49
> D-70599 Stuttgart
>
> Tel    :  (+49) 0711 - 45 10 17 676
> Fax    :  (+49) 0711 - 45 10 17 573
> WWW    :  http://www.blue-elephant-systems.com
> Email  :  Thomas.Termin@blue-elephant-systems.com
>
> blue elephant systems GmbH
> Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
> Registergericht : Amtsgericht Stuttgart, HRB 24106
> Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/

Re: correlation id with tracing

Posted by Thomas TERMIN <tt...@blue-elephant-systems.com>.
Forgot to say that the current exchange has to be given as param.

Cheers,
Thomas


Thomas TERMIN wrote:
> Guillaume Nodet wrote:
>> However, it might be possible to enhance the ComponentSupport
>> or another class to support the correlation id automatically.
>> This would make all lightweight components to support that.
> We could extend ComponentSupport with methods to create the new
> exchanges and this methods could put the correlation id automatically in
> the new excahnge. So if you would use ComponentSupport to create the
> exchange the correlationId will be propagated. The advantage is that you
> don't have to use this functions and it would be backward compatible.
> 
> What do you think?
> 
> 
>> On 1/23/07, Guillaume Nodet <gn...@gmail.com> wrote:
>>> I don't think so, as the container (or the ecxhange factory) has no way
>>> to know which jbi exchange is currently handled by the component.
>>> And you can not use a thread local, has the component may delegate
>>> the exhcange processing to another thread.
>>> That's the reason why it has been implemented in servicemix-common.
>>> Do you see something else ?
>>>
>>> On 1/23/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>>>> A question again. If I have a lw component which opens a new message
>>>> exchange the correlation id has to be propageted in the component
>>>> itself. Would it be better or is it possible to do this automaticaly in
>>>> the exchange factory?
>>>>
>>>> Cheers,
>>>> Thomas
>>>>
>>>> Guillaume Nodet wrote:
>>>>> The way it works now is that
>>>>> all components using servicemix-common that create an exchange
>>>>> as part of the processing of a received exchange, will automatically
>>>>> put the correlationId in the new exchange properties.
>>>>> The correlationId is equal to correlationId of the input exchange,
>>> or the
>>>>> input exchange id if no correlation id is set.
>>>>>
>>>>> So if an endpoint A sends a JBI exchange to enpoint B, and endpoint B
>>>>> sends a jbi exchange to endpoint C while processing the exchange,
>>>>> both exchange will have the same correlationId.
>>>>>
>>>>> If we write a MessageExchange event listener, we should be able to
>>>>> retrieve all these informations.  Note that the flow can be retrieved
>>>>> with the same logic used in the DotViewFlowListener instead.
>>>>>
>>>>> Just copy the DotViewFlowListener and change the drawing
>>>>> logic.  What tool are will you use to draw the flow ?  The output
>>>>> of the DotViewFlowListener is not very impressive, so any
>>>>> improvement would be welcome.
>>>>>
>>>>> On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>>>>>> How is this intended to work? I want to implement a tracing tool or
>>>>>> whatever to see the flows between the components.
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> Guillaume Nodet wrote:
>>>>>>> No one leverage the correlation ids, but i it could / should
>>>>>>> be done.  What kind of informations are you looking for ?
>>>>>>>
>>>>>>> On 1/10/07, Thomas TERMIN <tt...@blue-elephant-systems.com> wrote:
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> How can I enable tracing in servicemix with the new
>>> correlation id
>>>>>>>> mechanism. How do I have to use this? (I don't want to use the
>>>>>>>> DotViewFlowListener)
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Thomas
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>> -- 
>>> Cheers,
>>> Guillaume Nodet
>>> ------------------------
>>> Architect, LogicBlaze (http://www.logicblaze.com/)
>>> Blog: http://gnodet.blogspot.com/
>>>
>>
> 
> 


-- 
Thomas Termin
_______________________________
blue elephant systems GmbH
Wollgrasweg 49
D-70599 Stuttgart

Tel    :  (+49) 0711 - 45 10 17 676
Fax    :  (+49) 0711 - 45 10 17 573
WWW    :  http://www.blue-elephant-systems.com
Email  :  Thomas.Termin@blue-elephant-systems.com

blue elephant systems GmbH
Firmensitz      : Wollgrasweg 49, D-70599 Stuttgart
Registergericht : Amtsgericht Stuttgart, HRB 24106
Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle