Hi Bill
2009-01-14 15:52:41,995 [192.168.254.153-bmajur.local] [HttpServerWorker-1] DEBUG SendMediator Start : Send mediator
....
2009-01-14 15:52:42,131 [192.168.254.153-bmajur.local] [HttpServerWorker-1] DEBUG SendMediator End : Send mediator

Now, the question relates to the red entry. The endpoint being sent to looks like

  <endpoint name="pub_async_sq">
<address uri="http://ihexds.nist.gov:9080/tf5/services/xdsregistrybas"; format="soap12" trace="enable">
      <enableAddressing separateListener="true"/>
    </address>
  </endpoint>

Note that I am using a separateListener which I understand to mean using asynchronous web services. In this mode I expect my request to get an immediate HTTP 200 response and then the real response message comes in a separate connection.

The question is: Does the time stamp on the SendMediator End log entry relate to when the HTTP 200 was received?
No, by default the http/s transports used by Synapse are non-blocking, and the actual send operation would be via a set of dedicated IO threads. Thus the end timestamp is the time after the request was queued for the NIO Reactor.
My installation is working fine but a separate deployment of my system is seeing a 1 minute delay on the receipt of the HTTP 200. I am trying to investigate and understanding the significance of the time stamps produced by Synapse would help a great deal.
Once a synchronous reply or error is encountered, a "ClientWorker" thread would be given the task of processing it back through the system. An asynchronous reply would arrive over a typical ServerWorker thread. Basically the NIO transport uses dedicated IO threads to send/receive, and worker threads from pools for message processing.

I hope this explains what you see, and has not confused you.. If you have any other queries, please feel free to raise them

cheers
asankha

--
Asankha C. Perera
http://adroitlogic.org

http://esbmagic.blogspot.com

Reply via email to