We are using jetty-6.1.26 HTTP client to post messages to an IIS server (SSL) on very low bandwidth and high latency connections (VSAT). 
 
The code fragment used is as below:
 
        httpClient.setConnectorType(HttpClient.CONNECTOR_SELECT_CHANNEL);        
        httpClient.setMaxConnectionsPerAddress(1);
        httpClient.setMaxRetries(0);
        httpClient.setSoTimeout(soTimeout);
        httpClient.setTimeout(timeout); 
 
        contentExchange = new ContentExchange(true);
        contentExchange.setRetryStatus(false);
 
int result = contentExchange.waitForDone();
                        if(result ==  HttpExchange.STATUS_COMPLETED)
                        {
 
We have seen that in production in certain instances the http client while sending data would appear hung and if restarted it would send that data. There is no timeout/expiry or any other errors. 
 
We cannot move to any newer versions of Jetty.
 
How can we stop/interrupt the HTTP client send/exchange from an external thread forcefully? We would like to control every send of http client by  a timer. If that timer pops and the data is still being sent (suggesting a hung situation) we would like to call an abort or stop.
 
Thanks a lot in advance!!