我编写了一个用于注册某些数据的服务。该服务可以被调用数千次。参数通过URL本身传递。它的客户端部分看起来像这样:
private String getNodeInfoFromGPSForSpecificSubscriber( int subscriberId ) throws Exception {
String requestURLToNode = "http://" + GPSConstants.GPS_IP + ":" + GPSConstants.PORT_NUMBER + APIs.FetchASpeecificNodeAPI.FETCH_A_SPECIFIC_NODE + "?" + APIs.FetchASpeecificNodeAPI.SUBSCRIBER_ID + "=" + subscriberId;
URL url = new URL( requestURLToNode );
HttpURLConnection conn = ( HttpURLConnection ) url.openConnection();
conn.setRequestMethod( "GET" );
conn.setRequestProperty( "Accept", "application/xml" );
conn.setDoOutput( true );
InputStream inputStream = conn.getInputStream();
BufferedReader in = new BufferedReader( new InputStreamReader( inputStream ) );
String responseAsString = in.readLine();
in.close();
conn.disconnect();
System.out.println( ++i );
return responseAsString;
}
但是在这里,每次打开一个连接,因此获得的速度只有每秒1个记录。我知道我不需要每次都打开连接,但无法弄清楚如何。请帮助。