Old Code with jersey version with High CPU utilization issue.
WebTarget webTarget = demo(urlConnectivity).target(urlConnectivity.getUrl()).queryParam( "Address", request); Invocation.Builder invocationBuilder = webTarget.request(MediaType.APPLICATION_JSON_TYPE) .header("Demo-userid", requestHeader.getUserid()).header("Demo-requestID", requestHeader.getRequestID()) .header("Demo-requestTimestamp", Utilities.getXMLGregorianCalendarForCurrentTime()) .header("Demo-conversationID", requestHeader.getConversationID()) .header("Demo-activityName", requestHeader.getActivityName()) .header("Demo-senderURI", requestHeader.getSenderURI()) .header("Demo-messageID", requestHeader.getMessageID()); response = invocationBuilder.get();
Fix:- HTTPClient code to overcome Jersey overloading the classes .
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(urlConnectivity.getConnTimeout()); conn.setReadTimeout(urlConnectivity.getReadTimeout()); conn.setRequestProperty("Accept", "application/json; charset=utf-8"); BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuilder sb = new StringBuilder(); String line; while ((line = rd.readLine()) != null) { sb.append(line + "\n"); } rd.close();
if (connection.getResponseCode() != HttpStatusCodes.OK.getStatusCode()) {
}
Pom file update.
final HttpGet httpget = new HttpGet(uri);
final StopWatch stopWatch = new StopWatch();
stopWatch.start();
response = defaultHttpClient.execute(httpget);
ACTUALLY WE HAVE CHOICE TO GO WITH APACHE HTTPCLIENT AS WELL.
No comments:
Post a Comment