1 Reply Latest reply on Jul 23, 2012 11:11 PM by Tadayoshi Sato

    ServiceInvoker.deliverSync timeout actually doubled

    Dennis Buttery Newbie

      Hi all,


         Not sure if this has been discussed elsewhere ...


         When using the ServiceInvoker.deliverSync() method, the timeout value actually transpires twice before the timeout exception is caught.


         Let's say that you call ServiceInvoker.deliverSync() with a timeout value of 30000 (30 secs).


         After 30 secs has passed you will see a log statement similar to the following:


           14:34:23,486 INFO  [ServiceInvoker] Unresponsive EPR: JMSEpr ....


         Then...  Another 30 secs will pass before the execption will be caught and control given back to your code.


         If the target service is restored before the initial timeout period then all is well and processing completes normally.


         If, however, the target service is restored after the Unresponsive EPR message occurs, then the linkage is lost and further processing will generate errors.



         So...  My question here is...  Why do we not receive the exception after the intial timeout period passes?  What is happening during the second period of time?  It appears to be meaningless seeing that the linkage is broken and the processing will simply error out anyways.


      Thanks for listening,