On 3/21/07, Thomas TERMIN <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]>
>>> 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  :  [EMAIL PROTECTED]
>>>
>>> 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  :  [EMAIL PROTECTED]

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/

Reply via email to