I had a very strange latency issue pop up today which I have isolated to an 
apparent issue with 2.2.1.  I can take the "Hello World" stand alone example 
from Restlet.com and modify the Resource to be:

package firstSteps;

import org.restlet.resource.Get;
import org.restlet.resource.ServerResource;

public class HelloWorldResource extends ServerResource {

    @Get
    public String represent() throws InterruptedException
    {
        System.out.println(Thread.currentThread().getId());
        Thread.sleep(10000);
        return "hello, world";
    }
}

I then take two browsers, Firefox and Chrome, and make a request from each.  
Firefox shows Hello World after 10 seconds and Chrome after 20.  Looking at the 
console I see that both requests were serviced by the same thread.  I can the 
take my load generator, jMeter, and send a lot of requests in parallel to 
Restlet.  Restlet processes them one at a time and always with the same thread. 
It is as if the default thread pool size is one. When I downgrade to 2.1 and 
run the same tests, the issue goes away with a variety of threads servicing the 
requests in parallel.

Please advise.

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=3086285

Reply via email to