PJ, This issue has been beaten to death multiple times on the HttpClient dev list. By the HTTP spec both the client and the server may close a persistent connection at any time without giving a prior notice. Both parties involved should be able to gracefully recover from such situation. Per default HttpClient does not automatically retry methods if the request has been fully transmitted to the server as this may result in data inconsistency or data corruption. For detailed discussion of this problem called method idempotency please refer to the HttpClient exception handling guide:
http://jakarta.apache.org/commons/httpclient/3.0/exception-handling.html Hope this helps Oleg On Thu, 2004-12-16 at 17:45 +0000, PJ Boyle wrote: > Hi, > > I am trying to setup a small application that will execute multiple methods > over multiple threads, with sleeps between each request. I have copied the > example provided with HttpClient 3.0b1 (MultiThreadedExample.java) but keep > getting a message as follows: > > " > java.net.SocketException: Software caused connection abort: recv failed > at java.net.SocketInputStream.socketRead0(Native Method) > " > > I am using the Oracle Oc4J J2EE container and am running my little mainline > program with HTTPClient 3.0beta1, the JDK running both the container and the > mainline is 1.4.2_04-b05. > > As you will see from the info below - the problem only seems to be occurring > on the second GET, I am wondering whether I need to re-initialise something > on each iteration for each thread. I am using releaseConnection() at the end > of each iteration. The problem is happening when run a single thread and > multiple threads. > > Any help greatly appreciated. > > Regards, > > Pj. > > ############################################################################ > Here is a snippet from the sourcecode (actions to run is just a list of > Strings which are the URIs) : > > static class GetThread extends Thread > { > > private HttpClient httpClient; > private LinkedList actionsToRun; > private int id; > > public GetThread(HttpClient httpClient, LinkedList actionsToRun, int id) > > { > this.httpClient = httpClient; > this.actionsToRun = actionsToRun; > this.id = id; > } > > public void run() > { > Iterator actionsIterator = actionsToRun.iterator(); > GetMethod curClientActionToReplay = null; > String curURI = null; > byte[] responseAsBytes = null; > > try > { > while (actionsIterator.hasNext()) > { > curURI = actionsIterator.next().toString(); > System.out.println(id + " - about create new GET method"); > curClientActionToReplay = new GetMethod(curURI); > System.out.println(id + " - about to set FollowRedirects"); > curClientActionToReplay.setFollowRedirects(true); > > System.out.println(id + " - about to get something from " + > curClientActionToReplay.getURI()); > > httpClient.executeMethod(curClientActionToReplay); > > System.out.println(id + " - about to read response body " + > curClientActionToReplay.getURI()); > > responseAsBytes = curClientActionToReplay.getResponseBody(); > > System.out.println(id + " - " + responseAsBytes.length + " bytes > read"); > > System.out.println(id + " - about to release connection"); > > curClientActionToReplay.releaseConnection(); > > System.out.println(id + " - about to sleep"); > > sleep(2000); > > System.out.println(id + " - about to loop"); > } > } > catch (Exception ex) > { > System.out.println(id + " - error: " + ex); > ex.printStackTrace(); > } > finally > { > System.out.println(id + " - connection released"); > curClientActionToReplay.releaseConnection(); > } > } > } > > ############################################################################ > ################################# > This always results in the following output: > > D:\Projects\DEVTOOLS\jdev-10.1.3.0\jdk\bin\javaw.exe -ojvm -classpath > D:\Projects\REVELATE\TraceReplay\build\classes;D:\Projects\THIRD-PARTY\commo > ns-httpclient-3.0-beta1\commons-httpclient-3.0-beta1.jar;D:\Projects\THIRD-P > ARTY\logging-log4j-1.2.9\dist\lib\log4j-1.2.9.jar;D:\Projects\DEVTOOLS\jdev- > 10.1.3.0\jakarta-taglibs\commons-logging-1.0.3\commons-logging-api.jar;D:\Pr > ojects\DEVTOOLS\jdev-10.1.3.0\jakarta-taglibs\commons-logging-1.0.3\commons- > logging.jar;D:\Projects\THIRD-PARTY\commons-codec-1.3\commons-codec-1.3.jar > ie.revelate.tracereplay.ReplayRunner > [-] 2004-12-16 17:23:20,343 DEBUG HttpClient::<clinit> - Java version: > 1.4.2_04 > > [-] 2004-12-16 17:23:20,359 DEBUG HttpClient::<clinit> - Java vendor: Sun > Microsystems Inc. > > [-] 2004-12-16 17:23:20,375 DEBUG HttpClient::<clinit> - Java class path: > D:\Projects\REVELATE\TraceReplay\build\classes;D:\Projects\THIRD-PARTY\commo > ns-httpclient-3.0-beta1\commons-httpclient-3.0-beta1.jar;D:\Projects\THIRD-P > ARTY\logging-log4j-1.2.9\dist\lib\log4j-1.2.9.jar;D:\Projects\DEVTOOLS\jdev- > 10.1.3.0\jakarta-taglibs\commons-logging-1.0.3\commons-logging-api.jar;D:\Pr > ojects\DEVTOOLS\jdev-10.1.3.0\jakarta-taglibs\commons-logging-1.0.3\commons- > logging.jar;D:\Projects\THIRD-PARTY\commons-codec-1.3\commons-codec-1.3.jar > > [-] 2004-12-16 17:23:20,375 DEBUG HttpClient::<clinit> - Operating system > name: Windows XP > > [-] 2004-12-16 17:23:20,375 DEBUG HttpClient::<clinit> - Operating system > architecture: x86 > > [-] 2004-12-16 17:23:20,375 DEBUG HttpClient::<clinit> - Operating system > version: 5.1 > > [-] 2004-12-16 17:23:20,671 DEBUG HttpClient::<clinit> - SUN 1.42: SUN (DSA > key/parameter generation; DSA signing; SHA-1, MD5 digests; SecureRandom; > X.509 certificates; JKS keystore; PKIX CertPathValidator; PKIX > CertPathBuilder; LDAP, Collection CertStores) > > [-] 2004-12-16 17:23:20,671 DEBUG HttpClient::<clinit> - SunJSSE 1.42: Sun > JSSE provider(implements RSA Signatures, PKCS12, SunX509 key/trust > factories, SSLv3, TLSv1) > > [-] 2004-12-16 17:23:20,671 DEBUG HttpClient::<clinit> - SunRsaSign 1.42: > SUN's provider for RSA signatures > > [-] 2004-12-16 17:23:20,671 DEBUG HttpClient::<clinit> - SunJCE 1.42: SunJCE > Provider (implements DES, Triple DES, AES, Blowfish, PBE, Diffie-Hellman, > HMAC-MD5, HMAC-SHA1) > > [-] 2004-12-16 17:23:20,671 DEBUG HttpClient::<clinit> - SunJGSS 1.0: Sun > (Kerberos v5) > > [-] 2004-12-16 17:23:20,703 DEBUG DefaultHttpParams::setParameter - Set > parameter http.useragent = Jakarta Commons-HttpClient/3.0-beta1 > > [-] 2004-12-16 17:23:20,703 DEBUG DefaultHttpParams::setParameter - Set > parameter http.protocol.version = HTTP/1.1 > > [-] 2004-12-16 17:23:20,718 DEBUG DefaultHttpParams::setParameter - Set > parameter http.connection-manager.class = class > org.apache.commons.httpclient.SimpleHttpConnectionManager > > [-] 2004-12-16 17:23:20,718 DEBUG DefaultHttpParams::setParameter - Set > parameter http.protocol.cookie-policy = rfc2109 > > [-] 2004-12-16 17:23:20,718 DEBUG DefaultHttpParams::setParameter - Set > parameter http.protocol.element-charset = US-ASCII > > [-] 2004-12-16 17:23:20,718 DEBUG DefaultHttpParams::setParameter - Set > parameter http.protocol.content-charset = ISO-8859-1 > > [-] 2004-12-16 17:23:20,718 DEBUG DefaultHttpParams::setParameter - Set > parameter http.method.retry-handler = > [EMAIL PROTECTED] > > [-] 2004-12-16 17:23:20,734 DEBUG DefaultHttpParams::setParameter - Set > parameter http.dateparser.patterns = [EEE, dd MMM yyyy HH:mm:ss zzz, EEEE, > dd-MMM-yy HH:mm:ss zzz, EEE MMM d HH:mm:ss yyyy, EEE, dd-MMM-yyyy HH:mm:ss > z, EEE, dd-MMM-yyyy HH-mm-ss z, EEE, dd MMM yy HH:mm:ss z, EEE dd-MMM-yyyy > HH:mm:ss z, EEE dd MMM yyyy HH:mm:ss z, EEE dd-MMM-yyyy HH-mm-ss z, EEE > dd-MMM-yy HH:mm:ss z, EEE dd MMM yy HH:mm:ss z, EEE,dd-MMM-yy HH:mm:ss z, > EEE,dd-MMM-yyyy HH:mm:ss z, EEE, dd-MM-yyyy HH:mm:ss z] > > 0 - about create new GET method > > [-] 2004-12-16 17:23:20,843 DEBUG GetMethod::<init> - enter > GetMethod(String) > > 0 - about to set FollowRedirects > > 0 - about to get something from > /Revelate-TraceReveal-context-root/helloworld.jsp?operation=A1 > > [-] 2004-12-16 17:23:20,843 DEBUG HttpClient::executeMethod - enter > HttpClient.executeMethod(HttpMethod) > > [-] 2004-12-16 17:23:20,843 DEBUG HttpClient::executeMethod - enter > HttpClient.executeMethod(HostConfiguration,HttpMethod,HttpState) > > [-] 2004-12-16 17:23:20,875 DEBUG > MultiThreadedHttpConnectionManager::getConnectionWithTimeout - enter > HttpConnectionManager.getConnectionWithTimeout(HostConfiguration, long) > > [-] 2004-12-16 17:23:20,875 DEBUG > MultiThreadedHttpConnectionManager::getConnectionWithTimeout - > HttpConnectionManager.getConnection: config = > HostConfiguration[host=http://matrix.revelate.ie:8988], timeout = 0 > > [-] 2004-12-16 17:23:20,875 DEBUG > MultiThreadedHttpConnectionManager$ConnectionPool::getHostPool - enter > HttpConnectionManager.ConnectionPool.getHostPool(HostConfiguration) > > [-] 2004-12-16 17:23:20,875 DEBUG > MultiThreadedHttpConnectionManager$ConnectionPool::getHostPool - enter > HttpConnectionManager.ConnectionPool.getHostPool(HostConfiguration) > > [-] 2004-12-16 17:23:20,875 DEBUG > MultiThreadedHttpConnectionManager$ConnectionPool::createConnection - > Allocating new connection, > hostConfig=HostConfiguration[host=http://matrix.revelate.ie:8988] > > [-] 2004-12-16 17:23:20,906 DEBUG HttpMethodDirector::executeWithRetry - > Attempt number 1 to process request > > [-] 2004-12-16 17:23:20,906 DEBUG HttpConnection::open - enter > HttpConnection.open() > > [-] 2004-12-16 17:23:20,906 DEBUG HttpConnection::open - Open connection to > matrix.revelate.ie:8988 > > [-] 2004-12-16 17:23:20,984 DEBUG HttpMethodBase::execute - enter > HttpMethodBase.execute(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:20,984 DEBUG HttpMethodBase::writeRequest - enter > HttpMethodBase.writeRequest(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:20,984 DEBUG HttpMethodBase::writeRequestLine - enter > HttpMethodBase.writeRequestLine(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:20,984 DEBUG HttpMethodBase::generateRequestLine - > enter HttpMethodBase.generateRequestLine(HttpConnection, String, String, > String, String) > > [-] 2004-12-16 17:23:21,000 DEBUG Wire::wire - >> "GET > /Revelate-TraceReveal-context-root/helloworld.jsp?operation=A1 > HTTP/1.1[\r][\n]" > > [-] 2004-12-16 17:23:21,000 DEBUG HttpConnection::print - enter > HttpConnection.print(String) > > [-] 2004-12-16 17:23:21,000 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[]) > > [-] 2004-12-16 17:23:21,000 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[], int, int) > > [-] 2004-12-16 17:23:21,015 DEBUG HttpMethodBase::writeRequestHeaders - > enter HttpMethodBase.writeRequestHeaders(HttpState,HttpConnection) > > [-] 2004-12-16 17:23:21,015 DEBUG HttpMethodBase::addRequestHeaders - enter > HttpMethodBase.addRequestHeaders(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:21,015 DEBUG HttpMethodBase::addUserAgentRequestHeader > - enter HttpMethodBase.addUserAgentRequestHeaders(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:21,015 DEBUG HttpMethodBase::addHostRequestHeader - > enter HttpMethodBase.addHostRequestHeader(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:21,015 DEBUG HttpMethodBase::addHostRequestHeader - > Adding Host request header > > [-] 2004-12-16 17:23:21,015 DEBUG HttpMethodBase::addCookieRequestHeader - > enter HttpMethodBase.addCookieRequestHeader(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:21,046 DEBUG HttpState::getCookies - enter > HttpState.getCookies() > > [-] 2004-12-16 17:23:21,046 DEBUG CookieSpecBase::match - enter > CookieSpecBase.match(String, int, String, boolean, Cookie[]) > > [-] 2004-12-16 17:23:21,046 DEBUG HttpMethodBase::addProxyConnectionHeader - > enter HttpMethodBase.addProxyConnectionHeader(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:21,046 DEBUG Wire::wire - >> "User-Agent: Jakarta > Commons-HttpClient/3.0-beta1[\r][\n]" > > [-] 2004-12-16 17:23:21,046 DEBUG HttpConnection::print - enter > HttpConnection.print(String) > > [-] 2004-12-16 17:23:21,046 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[]) > > [-] 2004-12-16 17:23:21,046 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[], int, int) > > [-] 2004-12-16 17:23:21,062 DEBUG Wire::wire - >> "Host: > matrix.revelate.ie:8988[\r][\n]" > > [-] 2004-12-16 17:23:21,062 DEBUG HttpConnection::print - enter > HttpConnection.print(String) > > [-] 2004-12-16 17:23:21,062 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[]) > > [-] 2004-12-16 17:23:21,062 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[], int, int) > > [-] 2004-12-16 17:23:21,062 DEBUG HttpConnection::writeLine - enter > HttpConnection.writeLine() > > [-] 2004-12-16 17:23:21,062 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[]) > > [-] 2004-12-16 17:23:21,062 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[], int, int) > > [-] 2004-12-16 17:23:21,062 DEBUG HttpConnection::flushRequestOutputStream - > enter HttpConnection.flushRequestOutputStream() > > [-] 2004-12-16 17:23:21,125 DEBUG Wire::wire - >> "[\r][\n]" > > [-] 2004-12-16 17:23:21,125 DEBUG HttpConnection::flushRequestOutputStream - > enter HttpConnection.flushRequestOutputStream() > > [-] 2004-12-16 17:23:22,296 DEBUG HttpMethodBase::readResponse - enter > HttpMethodBase.readResponse(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:22,296 DEBUG HttpMethodBase::readStatusLine - enter > HttpMethodBase.readStatusLine(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:22,296 DEBUG HttpConnection::readLine - enter > HttpConnection.readLine() > > [-] 2004-12-16 17:23:22,296 DEBUG HttpParser::readLine - enter > HttpParser.readLine(InputStream, String) > > [-] 2004-12-16 17:23:22,296 DEBUG HttpParser::readRawLine - enter > HttpParser.readRawLine() > > [-] 2004-12-16 17:23:22,734 DEBUG Wire::wire - << "HTTP/1.1 200 OK[\r][\n]" > > [-] 2004-12-16 17:23:22,734 DEBUG HttpMethodBase::readResponseHeaders - > enter HttpMethodBase.readResponseHeaders(HttpState,HttpConnection) > > [-] 2004-12-16 17:23:22,734 DEBUG HttpConnection::getResponseInputStream - > enter HttpConnection.getResponseInputStream() > > [-] 2004-12-16 17:23:22,734 DEBUG HttpParser::parseHeaders - enter > HeaderParser.parseHeaders(InputStream, String) > > [-] 2004-12-16 17:23:22,734 DEBUG HttpParser::readLine - enter > HttpParser.readLine(InputStream, String) > > [-] 2004-12-16 17:23:22,734 DEBUG HttpParser::readRawLine - enter > HttpParser.readRawLine() > > [-] 2004-12-16 17:23:22,734 DEBUG HttpParser::readLine - enter > HttpParser.readLine(InputStream, String) > > [-] 2004-12-16 17:23:22,734 DEBUG HttpParser::readRawLine - enter > HttpParser.readRawLine() > > [-] 2004-12-16 17:23:22,734 DEBUG HttpParser::readLine - enter > HttpParser.readLine(InputStream, String) > > [-] 2004-12-16 17:23:22,734 DEBUG HttpParser::readRawLine - enter > HttpParser.readRawLine() > > [-] 2004-12-16 17:23:22,734 DEBUG HttpParser::readLine - enter > HttpParser.readLine(InputStream, String) > > [-] 2004-12-16 17:23:22,734 DEBUG HttpParser::readRawLine - enter > HttpParser.readRawLine() > > [-] 2004-12-16 17:23:22,734 DEBUG HttpParser::readLine - enter > HttpParser.readLine(InputStream, String) > > [-] 2004-12-16 17:23:22,750 DEBUG HttpParser::readRawLine - enter > HttpParser.readRawLine() > > [-] 2004-12-16 17:23:22,750 DEBUG HttpParser::readLine - enter > HttpParser.readLine(InputStream, String) > > [-] 2004-12-16 17:23:22,750 DEBUG HttpParser::readRawLine - enter > HttpParser.readRawLine() > > [-] 2004-12-16 17:23:22,750 DEBUG HttpParser::readLine - enter > HttpParser.readLine(InputStream, String) > > [-] 2004-12-16 17:23:22,750 DEBUG HttpParser::readRawLine - enter > HttpParser.readRawLine() > > [-] 2004-12-16 17:23:22,750 DEBUG HttpParser::readLine - enter > HttpParser.readLine(InputStream, String) > > [-] 2004-12-16 17:23:22,750 DEBUG HttpParser::readRawLine - enter > HttpParser.readRawLine() > > [-] 2004-12-16 17:23:22,750 DEBUG HttpParser::readLine - enter > HttpParser.readLine(InputStream, String) > > [-] 2004-12-16 17:23:22,750 DEBUG HttpParser::readRawLine - enter > HttpParser.readRawLine() > > [-] 2004-12-16 17:23:22,750 DEBUG Wire::wire - << "Date: Thu, 16 Dec 2004 > 17:23:22 GMT[\r][\n]" > > [-] 2004-12-16 17:23:22,750 DEBUG Wire::wire - << "Server: Oracle Containers > for J2EE[\r][\n]" > > [-] 2004-12-16 17:23:22,750 DEBUG Wire::wire - << "Content-Length: > 508[\r][\n]" > > [-] 2004-12-16 17:23:22,750 DEBUG Wire::wire - << "Set-Cookie: > JSESSIONID=c0a80121231c8a33d959df6a45c1afc084e7acfe7423; > path=/Revelate-TraceReveal-context-root[\r][\n]" > > [-] 2004-12-16 17:23:22,750 DEBUG Wire::wire - << "Cache-Control: > private[\r][\n]" > > [-] 2004-12-16 17:23:22,750 DEBUG Wire::wire - << "Connection: > Keep-Alive[\r][\n]" > > [-] 2004-12-16 17:23:22,750 DEBUG Wire::wire - << "Keep-Alive: timeout=15, > max=100[\r][\n]" > > [-] 2004-12-16 17:23:22,750 DEBUG Wire::wire - << "Content-Type: > text/html;charset=windows-1252[\r][\n]" > > [-] 2004-12-16 17:23:22,750 DEBUG HttpMethodBase::processResponseHeaders - > enter HttpMethodBase.processResponseHeaders(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:22,750 DEBUG CookieSpecBase::parse - enter > CookieSpecBase.parse(String, port, path, boolean, String) > > [-] 2004-12-16 17:23:22,750 DEBUG CookieSpecBase::parse - enter > CookieSpecBase.parse(String, port, path, boolean, Header) > > [-] 2004-12-16 17:23:22,765 DEBUG HeaderElement::parseElements - enter > HeaderElement.parseElements(char[]) > > [-] 2004-12-16 17:23:22,843 DEBUG Cookie::<init> - enter Cookie(String, > String, String, String, Date, boolean) > > [-] 2004-12-16 17:23:22,843 DEBUG RFC2109Spec::validate - enter > RFC2109Spec.validate(String, int, String, boolean, Cookie) > > [-] 2004-12-16 17:23:22,843 DEBUG CookieSpecBase::validate - enter > CookieSpecBase.validate(String, port, path, boolean, Cookie) > > [-] 2004-12-16 17:23:22,843 DEBUG HttpState::addCookie - enter > HttpState.addCookie(Cookie) > > [-] 2004-12-16 17:23:22,843 DEBUG RFC2109Spec::formatCookie - enter > RFC2109Spec.formatCookie(Cookie) > > [-] 2004-12-16 17:23:22,843 DEBUG RFC2109Spec::formatCookieAsVer - enter > RFC2109Spec.formatCookieAsVer(Cookie) > > [-] 2004-12-16 17:23:22,843 DEBUG HttpMethodBase::processResponseHeaders - > Cookie accepted: "$Version=0; > JSESSIONID=c0a80121231c8a33d959df6a45c1afc084e7acfe7423; > $Path=/Revelate-TraceReveal-context-root" > > [-] 2004-12-16 17:23:22,843 DEBUG HttpMethodBase::readResponseBody - enter > HttpMethodBase.readResponseBody(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:22,843 DEBUG HttpMethodBase::readResponseBody - enter > HttpMethodBase.readResponseBody(HttpConnection) > > [-] 2004-12-16 17:23:22,843 DEBUG HttpConnection::getResponseInputStream - > enter HttpConnection.getResponseInputStream() > > 0 - about to read response body > /Revelate-TraceReveal-context-root/helloworld.jsp?operation=A1 > > [-] 2004-12-16 17:23:22,859 DEBUG HttpMethodBase::getResponseBody - > Buffering response body > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << "<!DOCTYPE html PUBLIC > "-//W3C//DTD XHTML 1.0 Strict//EN"[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << > ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << "[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << "<html>[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << " <head>[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << " <meta > http-equiv="Content-Type" content="text/html; > charset=windows-1252"></meta>[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << " <title>[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << " helloworld[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << " </title>[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << " </head>[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << " <body>[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << " <h1>[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << " Hello World[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << " </h1>[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << " <form > action="helloworld.jsp" method="post">[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << " <input type="text" > name="username" value="?">Username</input>[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << " <input > type="submit" name="submit"></input>[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << " </form>[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << " </body>[\n]" > > [-] 2004-12-16 17:23:22,859 DEBUG Wire::wire - << "</html>[\n]" > > [-] 2004-12-16 17:23:22,875 DEBUG HttpMethodBase::shouldCloseConnection - > Should NOT close connection in response to Connection: Keep-Alive > > > > [-] 2004-12-16 17:23:22,875 DEBUG HttpConnection::isResponseAvailable - > enter HttpConnection.isResponseAvailable() > > [-] 2004-12-16 17:23:22,875 DEBUG HttpConnection::releaseConnection - enter > HttpConnection.releaseConnection() > > [-] 2004-12-16 17:23:22,875 DEBUG HttpConnection::releaseConnection - > Releasing connection back to connection manager. > > [-] 2004-12-16 17:23:22,875 DEBUG > MultiThreadedHttpConnectionManager::releaseConnection - enter > HttpConnectionManager.releaseConnection(HttpConnection) > > [-] 2004-12-16 17:23:22,875 DEBUG > MultiThreadedHttpConnectionManager$ConnectionPool::freeConnection - Freeing > connection, > hostConfig=HostConfiguration[host=http://matrix.revelate.ie:8988] > > [-] 2004-12-16 17:23:22,875 DEBUG > MultiThreadedHttpConnectionManager$ConnectionPool::getHostPool - enter > HttpConnectionManager.ConnectionPool.getHostPool(HostConfiguration) > > [-] 2004-12-16 17:23:22,875 DEBUG IdleConnectionHandler::add - Adding > connection at: 1103217802875 > > [-] 2004-12-16 17:23:22,875 DEBUG > MultiThreadedHttpConnectionManager$ConnectionPool::notifyWaitingThread - > Notifying no-one, there are no waiting threads > > 0 - 508 bytes read > > 0 - about to release connection > > 0 - about to sleep > > 0 - about to loop > > 0 - about create new GET method > > [-] 2004-12-16 17:23:24,875 DEBUG GetMethod::<init> - enter > GetMethod(String) > > 0 - about to set FollowRedirects > > 0 - about to get something from > /Revelate-TraceReveal-context-root/helloworld.jsp?operation=A2 > > [-] 2004-12-16 17:23:24,875 DEBUG HttpClient::executeMethod - enter > HttpClient.executeMethod(HttpMethod) > > [-] 2004-12-16 17:23:24,875 DEBUG HttpClient::executeMethod - enter > HttpClient.executeMethod(HostConfiguration,HttpMethod,HttpState) > > [-] 2004-12-16 17:23:24,875 DEBUG > MultiThreadedHttpConnectionManager::getConnectionWithTimeout - enter > HttpConnectionManager.getConnectionWithTimeout(HostConfiguration, long) > > [-] 2004-12-16 17:23:24,875 DEBUG > MultiThreadedHttpConnectionManager::getConnectionWithTimeout - > HttpConnectionManager.getConnection: config = > HostConfiguration[host=http://matrix.revelate.ie:8988], timeout = 0 > > [-] 2004-12-16 17:23:24,875 DEBUG > MultiThreadedHttpConnectionManager$ConnectionPool::getHostPool - enter > HttpConnectionManager.ConnectionPool.getHostPool(HostConfiguration) > > [-] 2004-12-16 17:23:24,890 DEBUG > MultiThreadedHttpConnectionManager$ConnectionPool::getHostPool - enter > HttpConnectionManager.ConnectionPool.getHostPool(HostConfiguration) > > [-] 2004-12-16 17:23:24,890 DEBUG > MultiThreadedHttpConnectionManager$ConnectionPool::getFreeConnection - > Getting free connection, > hostConfig=HostConfiguration[host=http://matrix.revelate.ie:8988] > > [-] 2004-12-16 17:23:24,890 DEBUG HttpMethodDirector::executeWithRetry - > Attempt number 1 to process request > > [-] 2004-12-16 17:23:24,890 DEBUG HttpMethodBase::execute - enter > HttpMethodBase.execute(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:24,890 DEBUG HttpMethodBase::writeRequest - enter > HttpMethodBase.writeRequest(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:24,890 DEBUG HttpMethodBase::writeRequestLine - enter > HttpMethodBase.writeRequestLine(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:24,890 DEBUG HttpMethodBase::generateRequestLine - > enter HttpMethodBase.generateRequestLine(HttpConnection, String, String, > String, String) > > [-] 2004-12-16 17:23:24,890 DEBUG Wire::wire - >> "GET > /Revelate-TraceReveal-context-root/helloworld.jsp?operation=A2 > HTTP/1.1[\r][\n]" > > [-] 2004-12-16 17:23:24,890 DEBUG HttpConnection::print - enter > HttpConnection.print(String) > > [-] 2004-12-16 17:23:24,890 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[]) > > [-] 2004-12-16 17:23:24,890 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[], int, int) > > [-] 2004-12-16 17:23:24,890 DEBUG HttpMethodBase::writeRequestHeaders - > enter HttpMethodBase.writeRequestHeaders(HttpState,HttpConnection) > > [-] 2004-12-16 17:23:24,906 DEBUG HttpMethodBase::addRequestHeaders - enter > HttpMethodBase.addRequestHeaders(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:24,906 DEBUG HttpMethodBase::addUserAgentRequestHeader > - enter HttpMethodBase.addUserAgentRequestHeaders(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:24,906 DEBUG HttpMethodBase::addHostRequestHeader - > enter HttpMethodBase.addHostRequestHeader(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:24,906 DEBUG HttpMethodBase::addHostRequestHeader - > Adding Host request header > > [-] 2004-12-16 17:23:24,906 DEBUG HttpMethodBase::addCookieRequestHeader - > enter HttpMethodBase.addCookieRequestHeader(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:24,906 DEBUG HttpState::getCookies - enter > HttpState.getCookies() > > [-] 2004-12-16 17:23:24,906 DEBUG CookieSpecBase::match - enter > CookieSpecBase.match(String, int, String, boolean, Cookie[]) > > [-] 2004-12-16 17:23:24,906 DEBUG CookieSpecBase::match - enter > CookieSpecBase.match(String, int, String, boolean, Cookie > > [-] 2004-12-16 17:23:24,906 DEBUG RFC2109Spec::formatCookie - enter > RFC2109Spec.formatCookie(Cookie) > > [-] 2004-12-16 17:23:24,906 DEBUG RFC2109Spec::formatCookieAsVer - enter > RFC2109Spec.formatCookieAsVer(Cookie) > > [-] 2004-12-16 17:23:24,906 DEBUG HttpMethodBase::addProxyConnectionHeader - > enter HttpMethodBase.addProxyConnectionHeader(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:24,906 DEBUG Wire::wire - >> "User-Agent: Jakarta > Commons-HttpClient/3.0-beta1[\r][\n]" > > [-] 2004-12-16 17:23:24,906 DEBUG HttpConnection::print - enter > HttpConnection.print(String) > > [-] 2004-12-16 17:23:24,906 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[]) > > [-] 2004-12-16 17:23:24,906 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[], int, int) > > [-] 2004-12-16 17:23:24,906 DEBUG Wire::wire - >> "Host: > matrix.revelate.ie:8988[\r][\n]" > > [-] 2004-12-16 17:23:24,906 DEBUG HttpConnection::print - enter > HttpConnection.print(String) > > [-] 2004-12-16 17:23:24,906 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[]) > > [-] 2004-12-16 17:23:24,906 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[], int, int) > > [-] 2004-12-16 17:23:24,906 DEBUG Wire::wire - >> "Cookie: $Version=0; > JSESSIONID=c0a80121231c8a33d959df6a45c1afc084e7acfe7423; > $Path=/Revelate-TraceReveal-context-root[\r][\n]" > > [-] 2004-12-16 17:23:24,906 DEBUG HttpConnection::print - enter > HttpConnection.print(String) > > [-] 2004-12-16 17:23:24,921 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[]) > > [-] 2004-12-16 17:23:24,921 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[], int, int) > > [-] 2004-12-16 17:23:24,921 DEBUG HttpConnection::writeLine - enter > HttpConnection.writeLine() > > [-] 2004-12-16 17:23:24,921 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[]) > > [-] 2004-12-16 17:23:24,921 DEBUG HttpConnection::write - enter > HttpConnection.write(byte[], int, int) > > [-] 2004-12-16 17:23:24,921 DEBUG HttpConnection::flushRequestOutputStream - > enter HttpConnection.flushRequestOutputStream() > > [-] 2004-12-16 17:23:24,921 DEBUG Wire::wire - >> "[\r][\n]" > > [-] 2004-12-16 17:23:24,921 DEBUG HttpConnection::flushRequestOutputStream - > enter HttpConnection.flushRequestOutputStream() > > [-] 2004-12-16 17:23:24,921 DEBUG HttpMethodBase::readResponse - enter > HttpMethodBase.readResponse(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:24,921 DEBUG HttpMethodBase::readStatusLine - enter > HttpMethodBase.readStatusLine(HttpState, HttpConnection) > > [-] 2004-12-16 17:23:24,921 DEBUG HttpConnection::readLine - enter > HttpConnection.readLine() > > [-] 2004-12-16 17:23:24,921 DEBUG HttpParser::readLine - enter > HttpParser.readLine(InputStream, String) > > [-] 2004-12-16 17:23:24,921 DEBUG HttpParser::readRawLine - enter > HttpParser.readRawLine() > > [-] 2004-12-16 17:23:24,921 DEBUG HttpMethodDirector::executeWithRetry - > Closing the connection. > > [-] 2004-12-16 17:23:24,921 DEBUG HttpConnection::close - enter > HttpConnection.close() > > [-] 2004-12-16 17:23:24,921 DEBUG HttpConnection::closeSocketAndStreams - > enter HttpConnection.closeSockedAndStreams() > > [-] 2004-12-16 17:23:24,921 DEBUG HttpMethodDirector::executeWithRetry - > Method retry handler returned false. Automatic recovery will not be > attempted > > [-] 2004-12-16 17:23:24,921 DEBUG HttpConnection::releaseConnection - enter > HttpConnection.releaseConnection() > > [-] 2004-12-16 17:23:24,937 DEBUG HttpConnection::releaseConnection - > Releasing connection back to connection manager. > > [-] 2004-12-16 17:23:24,937 DEBUG > MultiThreadedHttpConnectionManager::releaseConnection - enter > HttpConnectionManager.releaseConnection(HttpConnection) > > [-] 2004-12-16 17:23:24,937 DEBUG > MultiThreadedHttpConnectionManager$ConnectionPool::freeConnection - Freeing > connection, > hostConfig=HostConfiguration[host=http://matrix.revelate.ie:8988] > > [-] 2004-12-16 17:23:24,937 DEBUG > MultiThreadedHttpConnectionManager$ConnectionPool::getHostPool - enter > HttpConnectionManager.ConnectionPool.getHostPool(HostConfiguration) > > [-] 2004-12-16 17:23:24,937 DEBUG IdleConnectionHandler::add - Adding > connection at: 1103217804937 > > [-] 2004-12-16 17:23:24,937 DEBUG > MultiThreadedHttpConnectionManager$ConnectionPool::notifyWaitingThread - > Notifying no-one, there are no waiting threads > > 0 - error: java.net.SocketException: Software caused connection abort: recv > failed > > java.net.SocketException: Software caused connection abort: recv failed > > at java.net.SocketInputStream.socketRead0(Native Method) > > at java.net.SocketInputStream.read(SocketInputStream.java:129) > > at java.io.BufferedInputStream.fill(BufferedInputStream.java:183) > > at java.io.BufferedInputStream.read(BufferedInputStream.java:201) > > at > org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:76) > > at > org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:104) > > at > org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:11 > 09) > > at > org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnect > ionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1379) > > at > org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.j > ava:1825) > > at > org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.jav > a:1588) > > at > org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:999 > ) > > at > org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethod > Director.java:382) > > at > org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDir > ector.java:168) > > 0 - connection released > > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:393) > > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:322) > > at > ie.revelate.tracereplay.ReplayRunner$GetThread.run(ReplayRunner.java:91) > > Process exited with exit code 0. > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
