Each (CAPI) call that goes through the HTTPServiceCaller class creates a new socket that never gets closed. This way, file descriptors will not be available at some point, causing the call to fail.
A simple fix is to insert the following line below line 1058
client.getHttpConnectionManager().closeIdleConnections(0);
It would be great if this could be implemented in the second alpha release of 2.3, as it causes severe problems on our production platforms.
TIA.
Ok, coming in release soon.
Fixed, will be in 2.3-alpha 3 coming this week.
Note that it will probably be a temporary fix as XINS is likely to move to HttpClient 4.0 which includes better connection management and performance:
http://www.theserverside.com/news/thread.tss?thread_id=55715
The HTTPServiceCaller fix is not working as expected. The reason is that you implemented the following:
client.getHttpConnectionManager().closeIdleConnections(0);
method.releaseConnection();
While I requested:
method.releaseConnection();
client.getHttpConnectionManager().closeIdleConnections(0);
The difference is that in the first case, each call leaves an idle connection. In the second case, the connection becomes idle and the closeIdleConnections() call cleans it up.
I've put the code at the correct line and recreated the release.
Works like a charm now, thanks!