I'm seeing similar behavior (leaked connections), but in a different case.
In our case we get leaked connections if the request throws an exception.
We noticed this in Restlet 2.0.11, and I just tried 2.0.14 and I see the same
problem.
String uri = "http://localhost:8111/account/junkoid";
ClientResource cr = new ClientResource(uri);
try {
acct = cr.get(Account.class);
} catch (Exception e) {
throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST,
"accountOid (" + accountOid + ") invalid reference");
}
We can invoke this code repeated as long as the URI is to a good resource. But
if the resource doesn't exist (a 404), it will hang after the 10th failure.
I've tried adding
finally {
logger.debug("releasing client connection");
cr.release();
}
but it didn't make any difference.
------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2994125