code: protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  		
  		PrintWriter writer = response.getWriter();
  		writer.write(JUNK);
  
  		writer.flush();
  
  		if(!request.isAsyncSupported()){
  			PrintWriter out = response.getWriter();
  			out.println("Asynchronous request processing is not supported");
  			out.flush();
  			out.close();
  			return;
  		}
  
  		final AsyncContext ac = request.startAsync();
  		ac.setTimeout(10  * 60 * 1000);
  		StatusServletAsyncListener asyncListener = new StatusServletAsyncListener(ac, queue, data);
  		ac.addListener(asyncListener);
  		//Add this to the queue for further processing when there is a response to dispatch
  		queue.add(ac);
  		//First time request will get the current data
  		firstTimeReq(ac);
  	}
docs: /*
  doGet will will start an AsyncContext, store the new AsyncContext in order for this to get processed later and last
  update the client's page with the current data.
  Also sets a timeout in the AsyncContext, and registers an AsyncListener in order to handle the events needed.