1 4 package com.tctest.performance.http.load; 5 6 import org.apache.commons.httpclient.HttpClient; 7 import org.apache.commons.httpclient.HttpState; 8 import org.apache.commons.httpclient.methods.GetMethod; 9 10 import java.io.IOException ; 11 12 public class OneHitWorkItem extends ExpiringWorkItem { 13 14 private final String url; 15 private final boolean doStats; 16 17 public OneHitWorkItem(final String host, final String url) { 18 this(host, url, false, Long.MAX_VALUE); 19 } 20 21 public OneHitWorkItem(final String host, final String url, final boolean doStats, final long endtime) { 22 super(endtime); 23 this.url = "http://" + host + url; 24 this.doStats = doStats; 25 } 26 27 public void executeImpl(HttpClient httpClient, StatsCollector collector) throws IOException { 28 httpClient.setState(new HttpState()); 30 final GetMethod method = new GetMethod(url); 31 try { 32 final long startTime = System.currentTimeMillis(); 33 final int statusCode = httpClient.executeMethod(method); 34 final long endTime = System.currentTimeMillis(); 35 if (doStats) collector.addStat(new ResponseStatistic(startTime, endTime, url, statusCode)); 36 consumeResponse(method); 37 } finally { 38 method.releaseConnection(); 39 } 40 } 41 } 42 | Popular Tags |