Hello All,
I am experiencing memory/thread leak ,with Restlet-2.0-RC4 and
Restlet-2.0-SNAPSHOT , when using ClientResource. Basically, ClientResource
doesn't close the thread it spawns and this result in number of inactive
threads and severe memory leak.
Here is some very simple code to illustrate this behaviour. The same code runs
fine in Restlet-2.0-M6 (which doesn't span new thread in ClientResource).
public void run(int instances) throws Exception {
for (int i=0; i < instances;i++) {
ClientResource clientResource = null;
Representation r = null;
try {
clientResource = new ClientResource("http://restlet.org");
r = clientResource.get();
} finally {
try { r.release(); } catch (Exception x) {}
try { clientResource.release(); } catch (Exception x) {}
}
}
}
public static void main(String[] args) throws Exception {
ThreadTest test = new ThreadTest();
test.run(1000);
}
I guess there might be something missing in the code to explicitly close
threads, but since the same code runs fine in M6, it is quite confusing to
experience leaks after upgrade.
Best regards,
Nina Jeliazkova
------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2624682