我正在用JAVA编写一个程序,将大量的XML文档发布到特定的Web地址,此外还有大量与此问题无关的其他数据处理。唯一的麻烦是,我预计会处理大约90,000条记录。在发布XML文档时,每条记录大约需要10秒,其中9条是通过在POST之后接收服务器的响应而获取的。是否可以在POST命令后忽略来自Web服务器的响应?
我的问题是:有没有办法将数据发布到网络服务器,然后忽略服务器的响应以节省时间?
这里是一个真实给我的麻烦代码剪断,它根据系统定时器从“writer.close”去“con.getResponseCode()”
URL url = new URL(TargetURL);
con = (HttpsURLConnection) url.openConnection();
//Login with given credentials
String login = (Username)+":"+(Password);
String encoding = new sun.misc.BASE64Encoder().encode(login.getBytes());
con.setRequestProperty ("Authorization", "Basic " + encoding);
// specify that we will send output and accept input
con.setRequestMethod("POST");
con.setDoInput(true);
con.setDoOutput(true);
con.setConnectTimeout(20000) ; // long timeout, but not infinite
con.setReadTimeout(20000);
con.setUseCaches (false);
con.setDefaultUseCaches (false);
// tell the web server what we are sending
con.setRequestProperty ("Content-Type", "text/xml");
OutputStreamWriter writer = new OutputStreamWriter(con.getOutputStream());
writer.write(data);
writer.flush();
writer.close();
//****This is our problem.*****//
int result = con.getResponseCode();
System.err.println("\nResponse from server after POST:\n" + result);
如何使用不同的线程获得响应?或者更简单地使用线程池并行发送和接收许多请求。 – toto2 2011-06-14 23:36:15