Recently , I found out that while synapse relaying the request from client to another axis server, if the network break down, client will never received failure immediatly. It always failed while it's own timeout exceed or synapse's internal timeout exceed;
scenarios: Using http porotocol; axisClient<-->synapse <--> axisServer 1) axisClient send request to synapse 2) syanpse relay request to axisServer 3) network between synapse and axisServer breakdown(or just shutdown axisServer) 4) axisClient doens't failure immediatly, It's alway's failure when it's timeout exceed; The more details reson I have find out is: When network breakdown(or axisServer shutdown), org.apache.synapse.transport.nhttp.ClientHandler's corresponding callback handler is invoked (onClose(), or onException(),...) . and the callback only just shutdown the connection. But the sessionRequestCallback(HttpCoreNIOSender.sessionRequestCallback) registed when establish http connection(ioreactor.connect(...)) will never be called. so the failure response will not be generated and send back to axisClient. And is there any other things could I do to avoid this situation?
