Hi Sylvain
One of the feature that got me interested into Synapse was the asynchronous
aspect, but I then soon realize most mediator don't deal so well with this
aspect. Callout, Atom to name a few. For me even if Synapse is asynchronous,
but I have a mediator calling an external component synchronously, the
system is now tighly couple to that external component and loose is
scalability characteristic. I had to deal in the past with a similar system
and one day the external component failed to respond to the HTTP request and
the system was brought down, eventhough that external component was needed
in only 2% of the traffic, at hight traffic the amount of threads blocked
will bring your system down.
Are there any plan to remedy to this? What is your view on this issue?
The callout mediator is designed to be "blocking".. but you could
achieve the same effect with the non-blocking manner, with the side
effect that the "current" message now becomes the response received. The
easiest fix for this is to make the original message accessible as well
(we already have that!) so that the user can decide how to merge these
two for message enrichment etc
asankha