Saturday, 13 February 2010

package org.mortbay.gwt.example.server;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.mortbay.gwt.AsyncRemoteServiceServlet;
import org.mortbay.gwt.example.client.HelloWorldService;
public class HelloWorldServiceImpl extends AsyncRemoteServiceServlet implements HelloWorldService
{
private static final long serialVersionUID = 1L;
public String sayHello(String sender)
{
HttpServletRequest request = getThreadLocalRequest();
HttpServletResponse response = getThreadLocalResponse();
System.err.println("HANDLING: " + request + " " + request.hashCode() + " " + response.hashCode());
if(request.isInitial())
{
request.setAttribute("ts", Long.valueOf(System.currentTimeMillis()));
request.suspend(5000);
return null;
}
// timed-out or resumed
System.err.println("RESPONDING");
long elapsed = System.currentTimeMillis() - ((Long)request.getAttribute("ts")).longValue();
return "Hello world *" + sender + "* resumed after " + elapsed + " ms";
}
}

No comments:

Post a Comment