servlets - i want to get Async Fetch Response (Google App Engine) -


i make web application on google app engine , use asyncurlfetch api.

but, cannot response. please me...

searc.java

private arraylist<future<httpresponse>> fetchurl() {     arraylist<future<httpresponse>> futurelist = new arraylist<future<httpresponse>>();      (searchresult searchresult : searchresultlist) {         if (!searchresult.isempty()) {             (webpage webpage : searchresult.getwebpagearray()) {                 try {                     url url = new url(                             "http://myapi.appspot.com/htmlparser?url="                                     + webpage.getpageurl());                     urlfetchservice = urlfetchservicefactory                             .geturlfetchservice();                     futurelist.add(us.fetchasync(url));                 } catch (malformedurlexception e) {                     // todo auto-generated catch block                     e.printstacktrace();                 }             }         }     }     return futurelist; }  private arraylist<httpresponse> getfetchresult(         arraylist<future<httpresponse>> futurelist) {     arraylist<httpresponse> responselist = new arraylist<httpresponse>();     try {         (future<httpresponse> future : futurelist) {             if (future.isdone()) {                 log.info("future calls get");                 httpresponse resp = future.get();                 responselist.add(resp);             }         }     } catch (interruptedexception e) {         e.printstacktrace();         log.info(e.getmessage());     } catch (executionexception e) {         e.printstacktrace();         log.info(e.getmessage());     }     return responselist; } 

htmlparser.java

public class htmlparser extends httpservlet{ protected static logger log = loggerfactory.getlogger(htmlparser.class);  private printwriter writer; private url paramurl;  @override protected void doget(httpservletrequest req, httpservletresponse resp)         throws servletexception, ioexception {     // todo auto-generated method stub     resp.setcontenttype("text/html; charset=utf8");     writer = resp.getwriter();     getparameter(req);     viewtest(); }  private void getparameter(httpservletrequest req){     paramurl = geturl(req); }  private url geturl(httpservletrequest req){     try {         url url;         url = new url(req.getparameter("url"));         return url;     } catch (malformedurlexception e) {         // todo auto-generated catch block         e.printstacktrace();     }     return null; }   private void viewtest(){     writer.println(paramurl);     log.info(paramurl.tostring()); }} 

future.isdone() "false"

what "true" ?

have read documentation on java futures? future.isdone() not block, , return false until future has finished executing. results of asynchronous calls, should call future.get() on each 1 unconditionally.


Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -