Hi all, unfortunately at the moment I'm still not able to help much with this discussion as I did not spend enough time to understand the coupling of Axis2 and Synapse in detail.
Generally what Indika writes about the decoupling of transports and mediation engine makes definitely sense from my high level view. The only point where I disagree is the startup of listeners. It seems impossible to me "to compensate" broken requests. In any system listeners should generally be the last to start and first to stop to avoid operating in an inconsistent state mostly combined with data loss and SLA violations. Besides a note from Ruwan that task initialisation depends on listeners being started before, I see no real reason to start the listeners that early. I first trial to move them to a later point showed no problems for me (also I did not test tasks). I definitely find it important to clarify the whole startup/shutdown logic including the Axis2 module aspect, where I can't provide any useful feedback, before releasing 1.3. Regards, Eric