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